11 Voto

C#/.NET: Diferencia entre String y string

Pregunta de Invitado | 09/01/2021 a las 20:42

Al programar con C#, es posible declarar una string (cadena) con letras minúsculas y mayúsculas:

string s = "ABC";
String S = "ABC";

Ambas formas parecen funcionar de la misma manera en mi código. Por lo tanto, me pregunto si hay alguna diferencia entre ambas declaraciones y, si no, me pregunto si hay dos tipos de cadenas diferentes disponibles. ¿En qué situación debería usar qué variante?

ResponderPositivoNegativo
1Mejor Respuesta1 Voto

En C#, "string" es un alias de "System.String". Entonces, técnicamente, ambas declaraciones son de hecho idénticas, porque internamente, "string" se define como "String".

Sin embargo, recomiendo usar la declaración en minúsculas siempre que necesite un objeto de string, por ejemplo:

string s = "ABC";

Sin embargo, si necesita alguna función de clase, debe usar la variante en mayúsculas:

string a = "A";
string b = "B";
string c = "C";
string s = String.Concat(a, b, c);

En este ejemplo, estamos creando 3 objetos de string (a, b y c) usando la string en minúsculas y estamos usando la función de clase String.Concat con la String en mayúsculas para almacenar el resultado en el objeto s.

Otro argumento para seguir este camino es que "string" es una construcción léxica introducida conscientemente como una abstracción que debería usarse para una string predeterminada. Aparte de eso, "System.String" es solo un tipo. Por lo tanto, si en algún momento en el futuro (poco probable) se debe cambiar el tipo de string predeterminado, la string ya no será la misma que System.String y si ya ha usado "string", estaría en el lado seguro porque "string"se cambiaría al nuevo tipo de string predeterminado en este momento y no tendría que cambiar su código.

Por cierto, lo mismo se aplica también a int (= System.Int32), long (= System.Int6), bool (= System.Boolean), char (= System.Char), object (= System.Object) y muchos otros tipos.
10/01/2021 a las 23:01

ResponderPositivo Negativo
Responder

Temas Relacionados

JavaScript: window.location como String

Información | 0 Comentarios

Aviso Importante

Por favor tenga en cuenta: Las contribuciones publicadas en askingbox.com son contribuciones de los usuarios y no deben reemplazar el asesoramiento profesional. No son verificados por independientes y no reflejan necesariamente la opinión de askingbox.com. Aprende más.

Participar

Haga su propia pregunta o escriba su propio artículo en askingbox.com. He aquí cómo.