我正在与一段代码作斗争,并得到错误:
字符字面错误中字符太多
使用c#和switch语句遍历字符串缓冲区并读取令牌,但在这一行得到错误:
案例",和":
中"| |":
案例"= =":
我如何保持==
和&&
作为一个字符?
这是因为,在c#中,单引号(''
)表示(或封装)单个字符,而双引号(""
)用于字符串。例如:
var myChar = '=';
var myString = "==";
下面是一个例子:
char myChar = '|';
string myString = "||";
字符用单引号分隔,字符串用双引号分隔。
好消息是c# switch语句可以处理字符串!
switch (mytoken)
{
case "==":
//Something here.
break;
default:
//Handle when no token is found.
break;
}
不能将==
或||
视为字符,因为它们不是字符,而是一个字符序列。
你可以改变…
一个字符只能容纳一个字符,字符字面量是单引号中的单个字符,即'&'
-如果您想使用字符串的字符多于一个,则必须使用双引号:
case "&&":
我也面临同样的问题。String.Replace('\.','')
是无效语句,并抛出相同的错误。感谢c#,我们可以使用双引号代替单引号,并完成以下工作String.Replace("\.","")
我相信您可以使用Unicode编码来做到这一点,但我怀疑这是否是您真正想要的。
==
是unicode值2A76,所以我相信你可以这样做:
char c = 'u2A76';
我现在不能测试这个,但我很想知道这是否适用于你。
你需要去找其他的。这里是一个unicode表,如果你想看:
http://www.tamasoft.co.jp/en/general-info/unicode.html