2010-03-13 5 views
0

Je connais:Quelle est une excellente façon de convertir une chaîne en nombre en C#?

Convert.ToInt32(texthere); 

Mais est-il un autre moyen plus propre de le faire? J'aime avoir du code lisible pour les collègues et je suis toujours à la recherche de tout ce qui rendra mon travail plus évident.

+9

Si vos collègues ne pouvez pas comprendre ce que Convert.ToInt32() fait, ils ont besoin de trouver une nouvelle carrière. –

Répondre

9

Vous pouvez également utiliser les méthodes Parse et TryParse de types int, double, float et decimal.

3

Int.parse, float.parse et ainsi de suite.

10

Ce qui n'est pas évident à propos de Convert.ToInt32?

Convert cette valeur To et Int32?

2

Personnellement, j'utiliser les méthodes standard déclaré (Convert.ToInt32, Double.TryParse etc), mais si vous voulez une alternative ...

Vous pouvez ajouter une méthode d'extension, quelque chose comme ça (pas testé):

public static class Extensions 
{ 
     public static int ConvertStringToInt(this string s) 
     { 
       return Convert.ToInt32(s); 
     } 
     public static long ConvertStringToLong(this string s) 
     { 
       return Convert.ToInt64(s); 
     } 
} 

Et vous pourriez alors:

 string test = "1234"; 
     int testToInt = test.ConvertStringToInt(); 
     long testToLong = test.ConvertStringToLong(); 
+0

Si vous notez une réponse, pourriez-vous donner une raison, s'il vous plaît? – amelvin

+1

+1 pour l'unicité. Je ne suis pas sûr pourquoi quelqu'un downvoted, mais c'est une bonne solution alternative. Personnellement j'utiliserais des méthodes plus courtes comme juste ToInt mais c'est juste une préférence personnelle. –

+0

vos noms de méthode sont trompeurs. ConvertStringToInt devrait retourner Int32, ConvertStringToDouble devrait retourner Int64 –