C#.Net chaîne insensible à la casse
pourquoi C#.Net permettre que la déclaration de l'objet string soit insensible à la casse?
String sHello = "Hello";
string sHello = "Hello";
les minuscules et les majuscules de la chaîne de mots sont acceptables et cela semble être le seul objet qui permette cela.
quelqu'un Peut-il expliquer pourquoi?
7 réponses
string
est un mot-clé de langue tandis que System.String
est le type qu'il aliase.
les deux compilent exactement la même chose, de même:
-
int
estSystem.Int32
-
long
estSystem.Int64
-
float
estSystem.Single
-
double
estSystem.Double
-
char
estSystem.Char
-
byte
estSystem.Byte
-
short
estSystem.Int16
-
ushort
estSystem.UInt16
-
uint
isSystem.UInt32
-
ulong
estSystem.UInt64
je pense que dans la plupart des cas, il s'agit de lisibilité du code - tous les types de valeurs de base du système ont des alias, je pense que le cas inférieur string
pourrait être juste pour la cohérence.
suite aux autres réponses, il est de bonne pratique d'utiliser des mots clés s'ils existent.
E. G. vous devez utiliser string plutôt que système.Chaîne .
"Chaîne" est le nom de la classe. "string" est un mot-clé qui correspond à cette classe.
c'est la même chose que
- Int32 = > int
- décimal = > décimal
- Int64 = > long
... et ainsi de suite...
"chaîne" est un mot clé C#. c'est juste un alias pour "le Système de.String " - l'une des classes .NET BCL.
"chaîne" est juste un alias C# pour la classe "String" dans le Système de l'espace de noms.
string est un alias pour System.Chaîne. Ils sont la même chose.
par convention, cependant, les objets de type (Système.String) sont généralement appelés alias-par exemple
string myString = "Hello";
alors que les opérations sur la classe utilisent la version en majuscules par exemple
String.IsNullOrEmpty(myStringVariable);
J'utilise la corde et non la corde, Int32 au lieu de int, de sorte que ma coloration syntaxique ramasse sur une chaîne comme un Type et non un mot-clé. Je veux que les mots clés me sautent dessus.