Bonjour,
J'aimerais savoir quel est la meilleure solution; utiliser un type primitif (int) ou utiliser un type du CTS (Int32).
Quels sont les avantages / inconvénients ?
Yoshio
Bonjour,
J'aimerais savoir quel est la meilleure solution; utiliser un type primitif (int) ou utiliser un type du CTS (Int32).
Quels sont les avantages / inconvénients ?
Yoshio
Salut,
c'est la meme chose. =)
Extract du standard :
Idem pour string (System.String) et object (System.Object).C# provides a set of predefined struct types called the simple types. The simple types are identified through reserved words, but these reserved words are simply aliases for predefined struct types in the System namespace, as described in the table below.
Je ne pense pas qu'un int prenne la même place en mémoire qu'un Int32.
int est un alias pour System.Int32 (tout comme bool l'est pour Boolean, long pour Int64, etc.).
int i;
System.Int32 i;
ces 2 déclarations sont identiques (au niveau rapidité, execution, espace mémoire occupé). La diférence est que la 2eme est moins utilisée car plus longue à écrire...
Cela correspond dans les deux cas à une variable entière codée sur 32bits.
Les règles du forum
Le trio magique : FAQ + Cours + fonction rechercher
Mes articles
Pas de questions par messages privés svp
Software is never finished, only abandoned.
En général je dirai la chose suivante : si vous avez à tout prix besoin de vous assurer qu'un int fait bien 32 bits, utilisez Int32 (cas d'une correspondance avec une colonne de base de données).
Sans cette contrainte, utilisez un int. Pourquoi en fait? Et bien pour le moment int map vers Int32, je ne suis pas sûr que lorsque les systèmes 64 bits se seront imposés ce int ne sera pas tout d'un coup un Int64 pour des raisons de performances.
Il y a eu des exemples de ce genre de choses en C++ avec le passage de 16 à 32bits, d'ou l'utilisation massive de typedef dans certains frameworks.
Non, Non, Non...
Int32 = int
"Int32" est I-DEN-TI-QUE à "int" en processeur 32 / 64 / 1024 bits...
Int32 = int
C'est un allias, lors de la compil int devient Int32 et fera TOU-JOURS 32 bits...
Tout comme long sera toujours un Int64...
Je comprend pas pourquoi certains cherche tant la complexité...
Vous pensiez quand même pas que Microsoft allait laisser cette histoire de 32 bits passé en 64 en fonction de la plateforme cible?...
Ils ont définit les types et les allias ainsi, ils ne vont pas changer à l'avenir par pur craprice...
Surtout que le framework entier est définit ainsi :
public static int Parse(string s)
Member of System.Int32
Summary:
Converts the string representation of a number to its 32-bit signed integer equivalent.
Partager