0
点赞
收藏
分享

微信扫一扫

switch (C#)

hoohack 2022-05-02 阅读 72
  •  switch on an enumeration data type;
        static void SwitchOnEnum()
        {
            Console.WriteLine("Enter your favorite day of the week: ");
            DayOfWeek day;
            try
            {
                day=(DayOfWeek) Enum.Parse(typeof(DayOfWeek),Console.ReadLine());
            }
            catch (Exception)
            {
                Console.WriteLine("Invalid input!");
                return;
            }
            switch (day)
            {
                case DayOfWeek.Sunday:
                case DayOfWeek.Saturday:
                    Console.WriteLine("Weekends");
                    break;
                default:
                    Console.WriteLine("Working days");
                    break;
            }
        }
  • switch...case...when... 
       static void SwitchPattern()
        {
            object obj = 1;
            switch (obj)
            {
                // Type is checked first and value is also checked using when clause.
                case int i when i!=0:
                    Console.WriteLine($"The object is an integer not equal to zero: {i}");
                    break;
                case string s when s.Equals(""):
                    Console.WriteLine($"The object is a string not empty: {s}");
                    break;
                case long l:
                    Console.WriteLine($"The object is long number: {l}");
                    break;
                default:
                    Console.WriteLine("Else");
                    break;
            }
        }
  • switch Experessions (C# 8.0) 
string captial = FindCountryCaptial("China");
Console.WriteLine(captial);
Console.ReadLine();
static string FindCountryCaptial(string country)
{
    return country switch
    {
        "the USA" => "Washington",
        "China" => "Beijing",
        _ => "Unknown",
    };
}
  •  switch with Tuples
// switch expression with Tuples
static string ColorMixer(string colorA, string colorB)
{
    return (colorA, colorB) switch
    {
        ("red", "green") => "yellow",
        ("red", "blue") => "cyan",
        (_, _) => "unknown",
    };
}

 

 

举报

相关推荐

0 条评论