C# 使用c检查开关盒中变量的字符串值#

C# 使用c检查开关盒中变量的字符串值#,c#,switch-statement,C#,Switch Statement,我正在检查变量username是否包含“ali”,这在switch案例中是字符串值,但我的老师之前告诉我,您只能检查数据类型char和int,但它与字符串一起工作正常,所以我很困惑,检查switch中的字符串数据类型是否是好的做法 string userName = "Ali";//the variable i want to check switch(userName) { case "Ali"://value i want to check Console.WriteLine("f

我正在检查变量username是否包含“ali”,这在switch案例中是字符串值,但我的老师之前告诉我,您只能检查数据类型char和int,但它与字符串一起工作正常,所以我很困惑,检查switch中的字符串数据类型是否是好的做法

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;

}

您当然可以在开关表达式中使用字符串


在C#6.0中,可以使用整数值、枚举、布尔、字符和yes字符串。由于C#7.0,您可以使用任何非空表达式。有关更多详细信息,请参阅。

您当然可以在开关表达式中使用字符串


在C#6.0中,可以使用整数值、枚举、布尔、字符和yes字符串。由于C#7.0,您可以使用任何非空表达式。有关更多详细信息,请参阅。

是的,您可以这样做。但不是你尝试的方式。开关中的字符串是大写的,但变量不是。还有名为userNAme的变量,但在开关中尝试使用userNAme。请尝试以下代码:

string userName = "Ali";

switch(userName.ToLower()) 
{
    case "ali":
        Console.WriteLine("found");
        break;
    default:
        Console.WriteLine("not found");
        break;
}

是的,你能做到。但不是你尝试的方式。开关中的字符串是大写的,但变量不是。还有名为userNAme的变量,但在开关中尝试使用userNAme。请尝试以下代码:

string userName = "Ali";

switch(userName.ToLower()) 
{
    case "ali":
        Console.WriteLine("found");
        break;
    default:
        Console.WriteLine("not found");
        break;
}

您可以对字符串使用流量控制开关

但是您在编码中发现了两个错误,因为c区分大小写
字符串用户名和您写入的开关(用户名)


您可以对字符串使用流量控制开关

但是您在编码中发现了两个错误,因为c区分大小写
字符串用户名和您写入的开关(用户名)


问题是什么还不清楚。正如您所指出的,您可以在C#Time中的switch语句中使用字符串来查找新学校。FWW,你不能在C或C++中这样做。也许你的老师把他/她的语言弄混了。我的问题是我正在检查变量用户名是否包含“ali”这是开关中的字符串值,但我的老师之前告诉我,您只能检查数据类型char和int,但它与字符串配合良好,所以我很困惑,在开关中检查字符串数据类型是否是良好的做法?是的,从技术上讲,这没有什么问题,尽管您不能像直接比较两个字符串那样控制区域性或区分大小写。也许你的导师建议你应该使用常量,但他们仍然错误地认为这是不可能的。明天是我的论文,我担心她是否会接受我的观点。顺便说一句,谢谢大家。问题是什么还不清楚。正如您所指出的,您可以在C#Time中的switch语句中使用字符串来查找新学校。FWW,你不能在C或C++中这样做。也许你的老师把他/她的语言弄混了。我的问题是我正在检查变量用户名是否包含“ali”这是开关中的字符串值,但我的老师之前告诉我,您只能检查数据类型char和int,但它与字符串配合良好,所以我很困惑,在开关中检查字符串数据类型是否是良好的做法?是的,从技术上讲,这没有什么问题,尽管您不能像直接比较两个字符串那样控制区域性或区分大小写。也许你的导师建议你应该使用常量,但他们仍然错误地认为这是不可能的。请他们澄清。明天是我的论文,我担心她是否会接受我的观点。顺便说一句,谢谢大家。谢谢我检查了他们也使用字符串值。从我这边尊重。谢谢我检查了他们也使用字符串值。尊敬我。是的,当我输入时你是对的,我忘了它谢谢当我输入时你是对的,我忘了它谢谢我知道区分大小写我只是键入演示代码来询问我的代码是的,我知道区分大小写我只是键入演示代码来询问我的代码