Comment vérifier si string est convertible en int?
Disons que nous avons des données comme "Maison", "50", "Chien", "45.99", je veux savoir si je devrais simplement utiliser le string ou utiliser plutôt la valeur analysée int.
En JavaScript, nous avions cette fonction parseInt () . Si la chaîne ne peut pas être analysée, elle retournera NaN.
Int32.TryParse(String, Int32)
- http://msdn.Microsoft.com/en-us/library/f02979c7.aspx
bool result = Int32.TryParse(value, out number);
if (result)
{
Console.WriteLine("Converted '{0}' to {1}.", value, number);
}
Ne pourriez-vous pas le rendre un peu plus élégant en passant le tryparse directement dans le if?
Ainsi:
if (Int32.TryParse(value, out number))
Console.WriteLine("Converted '{0}' to {1}.", value, number);
Int.TryParse
trouvé ceci dans l'un des résultats de la recherche: Comment puis-je identifier si une chaîne est un nombre?
Ajoutant ceci parce que les réponses que j'ai vues auparavant n'avaient pas d'utilisation:
int n;
bool isNumeric = int.TryParse("123", out n);
ici, "123"
peut ressembler à la chaîne s = "123"
que l'OP teste et la valeur n
aura une valeur (123
) après l'appel si l'appel est numérique.