too many literal error demasiados cs1012 characters carácter caracteres c# char

c# - many - error cs1012 demasiados caracteres en literal de carácter



"Demasiados caracteres en el error literal del personaje" (5)

Aquí hay un ejemplo:

char myChar = ''|''; string myString = "||";

Los caracteres están delimitados por comillas simples, y las cadenas por comillas dobles.

¡La buena noticia es que las sentencias de conmutación C # funcionan con cadenas!

switch (mytoken) { case "==": //Something here. break; default: //Handle when no token is found. break; }

Estoy luchando con una pieza de código y obteniendo el error:

Demasiados caracteres en el error literal del personaje

Usando C # y la instrucción switch para iterar a través de un buffer de cadena y leer tokens, pero obteniendo el error en esta línea:

caso ''&&'':

caso ''||'':

caso ''=='':

¿Cómo puedo mantener el == y && como un char?


Creo que puedes hacer esto usando una codificación Unicode, pero dudo que esto sea lo que realmente quieres.

El == es el valor unicode 2A76, así que creo que puedes hacer esto:

char c = ''/u2A76'';

No puedo probar esto en este momento, pero me gustaría saber si eso funciona para usted.

Tendrás que cavar alrededor de los demás. Aquí hay una tabla Unicode si quieres ver:

http://www.tamasoft.co.jp/en/general-info/unicode.html


Esto se debe a que, en C #, las comillas simples ( '''' ) denotan (o encapsulan) un solo carácter, mientras que las comillas dobles ( "" ) se utilizan para una cadena de caracteres. Por ejemplo:

var myChar = ''=''; var myString = "==";


No puedes tratar == o || como caracteres, ya que no son caracteres, sino una secuencia de caracteres.

Podrías hacer tu cambio ... caso trabaja en cadenas en su lugar.


Un char puede contener un solo carácter, un literal de carácter es un único carácter en comilla simple, es decir, ''&'' - si tiene más caracteres que uno, quiere usar una cadena, para eso debe usar comillas dobles:

case "&&":