c# - Cadena vs cadena




.net (8)

En el futuro, intente compilar una aplicación que use ambos y luego use Reflector (cambie el idioma a IL) para ver el resultado compilado. Verás que no hay diferencia.

En C # hay objetos String y objetos de string .

¿Cuál es la diferencia entre los dos? ¿Cuáles son las mejores prácticas para usar?


La versión en minúscula es solo un alias de la clase real String. No hay diferencia real en cuanto a IL generado.


No hay diferencia string es un alias que el compilador convierte en System.String.

De hecho, incluso tiene un alias en MSIL:

.method private hidebysig static void  Main(string[] args) cil managed

No hay diferencia entre ellos. cadena es solo un alias para System.String. Cuando se compilan, ambos se compilan en el objeto System.String.


No hay diferencia. string (minúscula) es solo un alias para System.String.


No hay diferencia. string es una palabra clave de lenguaje C # que se refiere a la clase System.String, al igual que int es una palabra clave que hace referencia a System.Int32.


Teniendo en cuenta que un "int" es diferente en algunos idiomas dependiendo del sistema de 16 bits / 32 bits, una "cadena" podría evolucionar en el futuro para que no sea lo mismo que System.String.

Pero por ahora lo es.






.net