switch语句是多路分支语句。它提供了一种简单的方法,可以根据表达式的值将执行转发到代码的不同部分。因此,对于switch语句,您总是使用一些重复的case和break关键字,并且还使用default语句,如下面的示例所示:
例子:
// C# program to illustrate
// switch case statement
using System;
public class GFG {
// Main Method
public static void Main(String[] args)
{
int gitem = 8;
switch (gitem) {
case 2:
Console.WriteLine("Hello");
break;
case 4:
Console.WriteLine("Bonjour");
break;
case 6:
Console.WriteLine("Konnichiwa");
break;
case 8:
Console.WriteLine("Namaste");
break;
case 10:
Console.WriteLine("Anyoung haseyo");
break;
default:
Console.WriteLine("No greeting found");
break;
}
}
}
输出:
Namaste
这是switch语句的基本介绍。现在进入主要主题,众所周知,Microsoft已发布了最新版本的C#,即C#8.0。在C#8.0中,开发人员对switch语句进行了一些改进,经过改进,将switch语句转换为switch表达式,并进行了如下改进:
- 开关表达式中使用的变量现在位于switch关键字之前。
- 冒号(:)和case关键字替换为箭头(=>)。这使得代码更加紧凑和易读。
- 现在,默认情况下将替换为discard(_)。
- 开关的主体是表达式,而不是语句。
现在,根据新的改进,我们修改了上面的示例。与传统方法相比,这些新改进使我们的程序更紧凑,更易于阅读。
范例1:
// C# program to illustrate
// switch expression
using System;
public class GFG {
// Main Method
public static void Main(String[] args)
{
var gitem = 4;
var res = gitem switch {
2 => "Hello",
4 => "Bonjour",
6 => "Namaste",
8 => "Anyoung haseyo",
_ => "No greeting found",
};
Console.WriteLine(res);
}
}
输出:
Bonjour
范例2:
// C# program to illustrate
// how to use string in
// switch expression
using System;
public class GFG {
// Main Method
public static void Main(String[] args)
{
var sitem = "Second";
var res = sitem switch {
"First" => "C#",
"Second" => "Java",
"Third" => "C++",
"Fourth" => "Python",
_ => "Not Language found !",
};
Console.WriteLine("Favorite Language: {0} ", res);
}
}
输出:
Favorite Language: Java