"Too many characters in character literal error"



我正在与一段代码作斗争,并得到错误:

字符字面错误中字符太多

使用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

相关内容

  • 没有找到相关文章

最新更新