Question

En C #, il existe des objets String et des objets string .

Quelle est la différence entre les deux? Quelles sont les meilleures pratiques à utiliser?

Était-ce utile?

La solution

Il n'y a pas de différence. string (minuscule) est juste un alias pour System.String.

Autres conseils

Aucune différence. System.String est strictement identique à chaîne . Les instructions de codage courantes en C # indiquent que vous devez utiliser le mot clé chaîne .

Ce sont des alias et sont interchangeables. Cependant, stylistiquement, pour les déclarations, j'utilise la chaîne en minuscule et pour les méthodes statiques, j'utilise String.

string foo = "bar";

if( foo != String.Empty )
{
   Console.WriteLine(String.Format("foo.Length = {0}", foo.Length));
}

L'un est System.String le type .Net et l'autre est spécifique à C #, qui s'avère être un alias de retour à System.String.

http://msdn.microsoft.com/ en-us / library / 362314fe (VS.71) .aspx

Il n'y a pas de différence. string est un alias que le compilateur convertit en System.String.

En fait, il est même aliasé dans MSIL:

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

Il n'y a pas de différence entre eux. string n'est qu'un alias pour System.String. Une fois compilés, ils sont tous deux compilés en objet System.String.

La version en minuscule est simplement un alias de la classe actuelle String. Il n'y a pas de réelle différence en termes de génération IL.

Il n'y a pas de différence. string est un mot clé du langage C # qui fait référence à la classe System.String, tout comme int est un mot clé qui fait référence à System.Int32.

À l'avenir, essayez de compiler une application qui utilise les deux, puis utilisez Reflector (changez le langage en IL) pour afficher la sortie compilée. Vous verrez qu'il n'y a pas de différence.

Il n'y a pas de différence, car la chaîne est convertie en System.String par le compilateur. Identique à tous les types courants (int va à System.Int32, etc.). Nous utilisons le nom simple pour qu'ils se démarquent.

Considérant qu’un «int» diffère dans certaines langues en fonction du système 16 bits / 32 bits, une "chaîne". pourrait évoluer de manière à ne plus être identique à System.String.

Mais pour l'instant c'est le cas.

juste une petite note: string / String n'est pas le seul couple d'alias: par exemple. Entier, Int32, int sont tous des alias.

@mliesen: cela ne se produit pas en C #, ce n'est pas comme C. ceci car à partir de C #, vous ne créez pas de fichier exécutable, mais un code compilé, comme java.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top