public static void Main()
var lazy = (WeekDays)(int)TrueDaysOfWeek.Monday;
Console.WriteLine($"Lazy Casting: {lazy}");
var safe = Translate(WeekDays.Monday);
Console.WriteLine($"Explicit Conversion: {safe}");
public static TrueDaysOfWeek Translate(WeekDays day) => day switch
WeekDays.Sunday => TrueDaysOfWeek.Sunday,
WeekDays.Monday => TrueDaysOfWeek.Monday,
WeekDays.Tuesday => TrueDaysOfWeek.Tuesday,
WeekDays.Wednesday => TrueDaysOfWeek.Wednesday,
WeekDays.Thursday => TrueDaysOfWeek.Thursday,
WeekDays.Friday => TrueDaysOfWeek.Friday,
WeekDays.Saturday => TrueDaysOfWeek.Saturday,
_ => throw new Exception("UnhandledType")
public enum TrueDaysOfWeek