2009-09-02 6 views
3

Pourquoi est-il nécessaire de convertir une valeur (par exemple courte) en chaîne, puis en Int32. Pourquoi ne peut-il pas être converti de court à Int 32?Utilisation de Int32.Parse

+0

Ceci est une question de débutant très sensible. – ChaosPandion

Répondre

8

Il n'y a même pas besoin de à toute sorte de conversion explicite:

short s = 23; 
int k = s; 

En outre, les littéraux numériques (sans sorte de suffixe) sont int32s de toute façon.

- Modifier

La raison pour laquelle un casting explicite n'est pas nécessaire parce qu'un short est toujours plus petit qu'un int, donc un short sera toujours complètement apte à la taille d'un int, donc pas de perte potentielle de Les données.

4

Vous n'avez pas besoin parce que vous pouvez lancer:

short shortNumber = 11; 
int notAsShortNumber = (int)shortNumber; 
+2

Non, la distribution explicite n'est pas nécessaire. –

+0

Il indique clairement ce que vous vouliez. – ChaosPandion

+0

J'ai vu le code comme ceci: shortvalue = 100 integervalue = 1000 integervalue = integervalue + int32.Parse (shortvalue.ToString()); Pourquoi la valeur courte est-elle convertie en chaîne, puis en Int32? – DotNetRookie