我正在检查变量用户名是否包含“ali”,这是交换机案例中的字符串值,但我的老师早些时候告诉我,你只能检查数据类型char和int但是它与字符串工作正常,所以我很困惑,检查字符串数据 - 键入开关是好还是不好?
string userName = "Ali";//the variable i want to check
switch(userName)
{
case "Ali"://value i want to check
Console.WriteLine("found");
break;
default:
Console.WriteLine("not found");
break;
}
你肯定可以在switch表达式中使用字符串。
在C#6.0中,您可以使用整数值,枚举,布尔值,字符和字符串。从C#7.0开始,您可以使用任何非null表达式。有关其他详细信息,请参阅the official documentation。
是的,你可以做到。但不是你试图做的方式。您在switch中的字符串是大写的,但变量不是。你的变量名为userNAme,但在switch中你试图使用userName。试试这段代码:
string userName = "Ali";
switch(userName.ToLower())
{
case "ali":
Console.WriteLine("found");
break;
default:
Console.WriteLine("not found");
break;
}
您可以使用流控制开关作为字符串
but you find two error in your coding, because c# case sensitive
string userNAme and and you write switch(userName)
和
break: change to break;