我正在努力处理一段代码并收到错误:
字符文字错误中的字符太多
使用C#和switch语句迭代字符串缓冲区并读取标记,但在此行中收到错误:
案例'&&':
案例'||':
case'==':
如何将==
和&&
保留为字符?
答案 0 :(得分:91)
这是因为,在C#中,单引号(''
)表示(或封装)单个字符,而双引号(""
)用于字符串。例如:
var myChar = '=';
var myString = "==";
答案 1 :(得分:4)
以下是一个例子:
char myChar = '|';
string myString = "||";
字符用单引号分隔,字符串用双引号分隔。
好消息是C#switch语句与字符串一起使用!
switch (mytoken)
{
case "==":
//Something here.
break;
default:
//Handle when no token is found.
break;
}
答案 2 :(得分:2)
你不能将==
或||
视为字符,因为它们不是字符,而是一系列字符。
你可以让你的开关...案例在字符串上工作。
答案 3 :(得分:2)
一个字符只能包含一个字符,一个字符文字是单引号中的单个字符,即'&'
- 如果你有多个字符而不是一个你想要使用字符串,那么你必须使用双引号:
case "&&":
答案 4 :(得分:1)
我相信你可以使用Unicode编码来做到这一点,但我怀疑这是你真正想要的。
==
是unicode值2A76,所以我相信你可以这样做:
char c = '\u2A76';
我现在无法测试这个,但我很想知道这是否适合你。
你需要挖掘其他人。如果你想看,这是一个unicode表:
答案 5 :(得分:0)
我遇到了同样的问题。
String.Replace('\\.','')
是无效的语句,并引发相同的错误。
多亏了C#,我们可以使用双引号代替单引号,并且可以进行后续工作
String.Replace("\\.","")