Vérifier si une string est un nombre dans C#
Cet article illustre les différentes techniques pour vérifier si une string est un nombre dans C#.
1. Utilisation TryParse()
méthode
Vous pouvez utiliser le TryParse()
méthode pour identifier si une string est un nombre. Cela fonctionne en convertissant la string spécifiée en représentation entière signée équivalente et renvoie true
si la conversion a réussi ; Par ailleurs, false
. Voici à quoi ressemblerait le code :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
using System; public class Example { public static void Main() { string s = "123"; int n; bool isNumeric = int.TryParse(s, out n); Console.WriteLine(n); // 123 Console.WriteLine(isNumeric); // True } } |
Notez que le TryParse()
prend un paramètre Out, qui stocke la valeur entière si la conversion a réussi. Cela peut être raccourci ci-dessous si le paramètre Out n'est pas nécessaire.
1 2 3 4 5 6 7 8 9 10 11 12 13 |
using System; public class Example { public static void Main() { string s = "123"; bool isNumeric = int.TryParse(s, out _); Console.WriteLine(isNumeric); // True } } |
Notez que le paramètre Out est déclaré et initialisé dans des instructions séparées. À partir de C# 7, nous pouvons déclarer et initialiser en ligne le paramètre Out.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
using System; public class Example { public static void Main() { string s = "123"; bool isNumeric = int.TryParse(s, out int n); Console.WriteLine(n); // 123 Console.WriteLine(isNumeric); // True } } |
2. Utilisation Char.IsDigit()
méthode
La Char.IsDigit()
renvoie une valeur booléenne indiquant si le caractère spécifié est un chiffre. L'exemple de code suivant illustre l'utilisation de Char.IsDigit()
méthode avec la Enumerable.All()
méthode pour déterminer si une string est un nombre.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
using System; using System.Linq; public class Example { public static void Main() { string s = "123"; bool isNumeric = s.All(char.IsDigit); Console.WriteLine(isNumeric); // True } } |
3. Utilisation Regex.IsMatch()
méthode
Enfin, vous pouvez utiliser l'expression régulière pour vérifier si une string est numérique. Ceci peut être fait en utilisant le Regex.IsMatch()
, qui détermine si la string spécifiée correspond à l'expression régulière fournie. Ceci est démontré ci-dessous. Notez que ^
correspond au début de la string et $
correspondre à sa fin.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
using System; using System.Text.RegularExpressions; public class Example { public static void Main() { string s = "123"; bool isNumeric = Regex.IsMatch(s, @"^\d+$"); Console.WriteLine(isNumeric); // True } } |
Il s'agit de vérifier si une string est un nombre dans C#.