C# 错误无法将案例的字符串[]隐式转换为字符[]
我想知道为什么“Cases”只支持单引号的字符值。为什么不是字符串值?在变量a中,我存储了一个字符串值。您有多个错误或误解C# 错误无法将案例的字符串[]隐式转换为字符[],c#,C#,我想知道为什么“Cases”只支持单引号的字符值。为什么不是字符串值?在变量a中,我存储了一个字符串值。您有多个错误或误解 首先,C语言的工作原理如下: 字符串可以是0个或多个字符,并由“(双引号)分隔 Char正好是一个字符,由“(单引号)分隔 此外,语句char a=Convert.ToChar(“==”将失败,因为当给定一个字符串时,它只接受长度为1的字符串。而“==”的长度为2 要获取单个字符,请使用以下命令:字符a='='; 或者,如果您从其他地方获取字符串,请使用char a
首先,C语言的工作原理如下:
可以是0个或多个字符,并由字符串
(双引号)分隔“
正好是一个字符,由Char
(单引号)分隔“
此外,语句
char a=Convert.ToChar(“==”
将失败,因为当给定一个字符串时,它只接受长度为1的字符串。而“==”
的长度为2
要获取单个字符,请使用以下命令:字符a='=';
或者,如果您从其他地方获取字符串,请使用char a=str[0];
最后,switch…case语句可以使用字符串或字符(以及其他类型,例如int或enum),但不能混合在一起 因此,在
开关之后使用的类型必须与每个案例之后使用的类型相同
如果开关
后使用的类型是字符
,则每个大小写
后的常量也必须是字符,由分隔(单引号).您是否切换到a
?您的C代码无效。请发布您的实际代码。这取决于切换中的类型()语句。如果转换为字符,则大小写为字符。如果类型为字符串,则大小写为字符串。case
支持string
,但这取决于输入类型。…开关语句可以由字符串管理:
char a = Convert.ToChar("==");
case "==":
if(b==c)
{
Console.WriteLine("the answer is valid" + b + " " + c);
}