2010-11-16 6 views
7

Possible en double:
In C# what is the difference between String and stringchaîne ou une chaîne

Quelle est la différence entre la chaîne et la chaîne. En C#, lequel est préféré?

+0

@Ani: Non "peut-être", mais " certainement. " – jason

+0

@Jason: C'est la norme le texte qui apparaît lorsque je choisis "fermer comme copie exacte". Puis-je changer cela? – Ani

+0

@Ani: Je n'étais pas au courant qu'il existe une telle fonctionnalité. Est-ce nouveau? – jason

Répondre

1

string est juste un alias pour String - ils sont les mêmes

modifier: type fixe

+4

Je pense que vous avez réellement cela à l'envers. –

+1

Je pense que c'est l'inverse. Comme 'int' est un alias pour' Int32' – Phil

1

string est un mot-clé C# qui signifie la Spécifiques même chose que le type System.String. Préférez les mots-clés de la langue lorsque cela est possible, utilisez donc par ex. string, int, float, au lieu de System.String, System.Int32, System.Single.

+0

pourquoi la partie préférée? – andy

+0

Mis à part le fait qu'il ressemble à un nettoyeur * lot *, c'est la ligne directrice dans la plupart des projets open source et c'est le style que MS utilise dans sa documentation. – cdhowie

+0

float == Célibataire? Je ne le savais pas ... Je suppose que c'est un demi-double, donc ça a du sens ... c'est quand même un drôle de nom. – mpen

2

Ce sont les mêmes, la chaîne est un alias pour Chaîne.

J'ai tendance à utiliser lors de l'appel à cordes méthodes statiques (c.-à-String.Format (...) ou String.IsNullOrEmpty (...). Je ne sais pas pourquoi, je viens de faire.

+1

Je fais la même chose, probablement parce que ça fait mal d'appeler une méthode statique sur quelque chose qui ne ressemble pas à une classe. – Phil

+0

Haha, ouais, c'est peut-être ça. Je préfère le bleu sarcelle au bleu. –

+0

Cela a du sens ... lorsque vous l'utilisez comme une classe, vous voulez qu'il ressemble à une classe. – mpen

5

En fait, string est un alias pour System.String mais erash est fondamentalement juste ...

Voici une liste d'autres alias' sans vergogne levé de Jon Skeet dans this post:

* object: System.Object 
* string: System.String 
* bool: System.Boolean 
* byte: System.Byte 
* sbyte: System.SByte 
* short: System.Int16 
* ushort: System.UInt16 
* int: System.Int32 
* uint: System.UInt32 
* long: System.Int64 
* ulong: System.UInt64 
* float: System.Single 
* double: System.Double 
* decimal: System.Decimal 
* char: System.Char 
Questions connexes