char a = Convert.ToChar("==");
case "==":
if(b==c)
{
Console.WriteLine("the answer is valid" + b + " " + c);
}
我想知道为什么“案例”仅支持带单引号的字符值。为什么不是字符串值?我在变量a中存储了一个字符串值。
答案 0 :(得分:1)
您有多处错误或误解。
首先,C#语言的工作原理如下:
String
可以是0个或多个字符,并由"
(双引号)分隔。Char
正好是1个字符,由'
(单引号)分隔。
此外,语句 char a = Convert.ToChar("==")
会失败,因为在给定字符串时,它只接受长度为1的字符串。"=="
的长度为2。
要获得单个字符,请使用以下字符: char a = '=';
或者,如果您从其他地方获取字符串,请使用 char a = str[0];
最后, switch ... case
语句可以使用字符串或字符(以及其他类型,例如整数或枚举),但不能混合在一起。
因此 switch
之后使用的类型必须与每个之后使用的类型相同 {{1 }} 强>
如果 case
之后使用的类型为switch
,那么每个 char
之后的常量也必须是由case
(单引号)分隔的字符。