c# - usar - ¿Qué es este char? 65279 ''''
string c# (3)
Tengo dos cuerdas.
uno es "/""
y el otro es "/" "
Creo que son lo mismo.
Sin embargo, String.Compare dice que son diferentes.
Esto es muy extraño.
Aquí está mi código.
string b = "/"";
string c = "/"";
if (string.Compare(b, c) == 0)
{
Console.WriteLine("Good");
}
if (c.StartsWith("/""))
{
Console.WriteLine("C");
}
if (b.StartsWith("/""))
{
Console.WriteLine("B");
}
Esperé que pudiera imprimir "GoodCB".
Sin embargo, solo imprime "B".
En mi depuración, c [0] es 65279 '''' y c [1] es 34 '''' '''' y b [0] es '''' ''''.
Pero no sé qué es 65279 ''''.
¿Hay un personaje vacío?
Gracias.
Es un espacio sin interrupción de ancho cero .
Se usa más comúnmente como una marca de orden de bytes (BOM) .
Si está leyendo desde un archivo que ha abierto en el bloc de notas, puede haberlo agregado, ya que es uno de varios programas notorios por hacerlo.
Si está utilizando Notepad ++, intente convertir a UTF-8 (sin BOM), y también asegúrese de que TODOS sus archivos en el proyecto tengan el mismo formato de sistema de archivos.