374 votes

C#, int ou Int32 ? Devrais-je m’y intéresser ?

De ma compréhension et sont la même chose en c#, mais j’ai lu un certain nombre de fois que est préféré au mais sans aucune raison donnée. Alors, quelle est la raison ? Devrais-je m’y intéresser ?

288voto

user6779 Points 557

Les deux sont en effet synonymes; int sera un peu plus familiers de la recherche, Int32 fait le 32 bits plus explicite pour ceux qui lisent votre code. Je serais enclin à utiliser int où j'ai juste besoin 'un entier', Int32 où la taille est importante (code de chiffrement, structures), de sorte futurs responsables savent qu'il est sécuritaire pour agrandir une int le cas échéant, mais devrait prendre en charge l'évolution Int32s de la même manière.

Le code résultant sera identique: la différence est purement une des raisons de lisibilité de code ou de l'apparence.

151voto

SpaceghostAli Points 3732

ECMA-334 c# spéc. lang (page 18) :

Chacun des types prédéfinis est un raccourci pour un type fourni par le système. Par exemple, le mot clé int désigne le struct System.Int32. Comme une question de style, utiliser le mot clé est favorisée par rapport à l’utilisation du nom de type complet de système.

91voto

raven Points 9396

Ils ont tous deux déclarent entiers de 32 bits, et comme les autres affiches a affirmé, dont celui que vous utilisez est principalement une question de style syntaxique. Cependant ils ne toujours comportent de la même manière. Par exemple, le compilateur c# ne permettra pas cela :

mais il ne permettra pas cela :

Allez comprendre.

51voto

Remi Despres-Smyth Points 1500

J'ai toujours utiliser le système de types - par exemple, Int32 au lieu de int. J'ai adopté cette pratique après la lecture Appliquée .Net Framework de Programmation - auteur Jeffrey Richter a fait une bonne affaire pour utiliser l'intégralité des noms de type de. Voici les deux points qui m'a marqué:

  1. Les noms de Type peut varier entre .Net languages. Par exemple, en C#, le long des cartes de Système.Int64 alors qu'en C++ avec les extensions gérées, le long des cartes de Int32. Puisque les langues peuvent être mélangés et mis en correspondance lors de l'utilisation .Net, vous pouvez être sûr qu'utiliser explicitement le nom de la classe sera toujours plus clair, peu importe le lecteur de langue de leur choix.

  2. De nombreuses cadre de méthodes ont des noms de type dans le cadre de leurs noms de méthode:

    BinaryReader br = new BinaryReader( /* ... */ );

    float val = br.ReadSingle(); // Ok, but looks a little odd...

    Single val = br.ReadSingle(); // Ok, and is easier to read

21voto

Brownie Points 3702

int est un mot clé c# et sans ambiguïté.

La plupart du temps il n’est pas grave, mais deux choses qui vont à l’encontre de Int32 :

  • Vous devez avoir un « using System ; » déclaration. à l’aide de « int » nécessite n° instruction using.
  • Il est possible de définir votre propre classe appelée Int32 (ce qui serait ridicule et déroutant). int signifie toujours int.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X