C# Identifier si une chaîne est un nombre

  1. Programme C# pour identifier si une chaîne est un nombre en utilisant la méthode Enumerable.All()
  2. Programme C# pour identifier si une chaîne est un nombre en utilisant la méthode Regex.IsMatch()
  3. Programme C# pour identifier si une chaîne est un nombre en utilisant la méthode Int32.TryParse()
  4. Programme C# pour identifier si une chaîne est un nombre Utilisation de la boucle foreach

En traitant les problèmes du monde réel, nous sommes parfois confrontés à un problème où nous voulons prendre une entrée comme une chaîne mais l’utiliser comme un “entier”. Pour que cela soit possible, nous devons toujours confirmer que la chaîne d’entrée est un nombre ou non.

En C#, nous pouvons utiliser de nombreuses méthodes pour identifier si une chaîne d’entrée est un nombre ou non. Vous découvrirez ces méthodes en lisant cet article jusqu’à la fin.

Programme C# pour identifier si une chaîne est un nombre en utilisant la méthode Enumerable.All()

La méthode Enumerable.All() appartient à LINQ. LINQ fait partie de C# et est utilisé pour accéder à différentes bases de données et sources de données. Nous pouvons modifier cette méthode pour vérifier si une chaîne est un nombre. Nous passerons la méthode char.IsDigit() comme paramètre à la méthode Enumerable.All().

La syntaxe correcte pour utiliser cette méthode est la suivante:

StringName.All(char.IsDigit);

Exemple de code:

using System;
using System.Linq;

public class IdentifyString
{
    public static void Main()
    {
      string number = "123456";
      if(number.All(char.IsDigit))
      {
          Console.WriteLine("The Given String is a Number.");
      }
      else
      {
          Console.WriteLine("The Given String is Not a Number.");
      }
    }
}

Production:

The Given String is a Number.

Programme C# pour identifier si une chaîne est un nombre en utilisant la méthode Regex.IsMatch()

En C#, nous pouvons utiliser des expressions régulières pour vérifier divers motifs. Une expression régulière est un motif spécifique pour effectuer une action spécifique. En C#, nous avons les expressions régulières ^[0-9]+$ et ^\d+$ pour vérifier si une chaîne est un nombre.

La syntaxe correcte pour utiliser cette méthode est la suivante:

Regex.IsMatch(StringName, @"Expression");

Exemple de code:

using System;
using System.Text.RegularExpressions;

public class IdentifyString
{
    public static void Main()
    {
      string number = "123456";
      if(Regex.IsMatch(number, @"^[0-9]+$"))
      {
          Console.WriteLine("The Given String is a Number.");
      }
      else
      {
          Console.WriteLine("The Given String is Not a Number.");
      }
    }
}

Production:

The Given String is a Number.

Ici, le point important est que les deux expressions régulières, ^[0-9]+$ et ^\d+$ ne sont pas les mêmes dans leur fonctionnement. L’expression ^[0-9]+$ est utilisée pour les caractères de base 0-9 mais ^\d+$ est utilisé pour les caractères Decimal digit dans l’Unicode, sans RegexOptions.ECMAScript spécifié (par défaut). Par exemple, comme 4 en thaïlandais, est également identifié comme un nombre.

Programme C# pour identifier si une chaîne est un nombre en utilisant la méthode Int32.TryParse()

La méthode Int32.TryParse() est utilisée pour convertir la chaîne de nombres en un entier signé de 32 bits. Si la chaîne n’est pas numérique, elle n’est pas convertie avec succès, et cette méthode retourne donc faux.

La syntaxe correcte pour utiliser cette méthode est la suivante:

Int32.TryParse(StringName, out intvariable);

Ici, invariable est toute variable entier non initialisée.

Exemple de code:

using System;

public class IdentifyString
{
    public static void Main()
    {
      int n;  
      string number = "123456";
      bool result = Int32.TryParse(number, out n);
      if(result)
      {
          Console.WriteLine("The Given String is a Number.");
      }
      else
      {
          Console.WriteLine("The Given String is Not a Number.");
      }
    }
}

Production:

The Given String is a Number.

Programme C# pour identifier si une chaîne est un nombre Utilisation de la boucle foreach

C’est le processus le plus élémentaire pour déterminer si une chaîne est un nombre. Dans ce processus, nous vérifierons que chaque caractère de la chaîne est un nombre en utilisant la boucle “avant”.

La syntaxe correcte pour utiliser la boucle foreach est la suivante:

foreach(datatype variablename in somecollection)
{
    //steps to iterate
}

Exemple de code:

using System;

public class IdentifyString
{
    //custom method to check if a string is a number
    public static bool CustomMethod(string number)
    {
        foreach (char c in number)
        {
            if (c >= '0' && c <= '9') {
                return true;
            }
        }
        return false;
    }
    public static void Main()
    { 
      string number = "123456";
      if(CustomMethod(number))
      {
          Console.WriteLine("The Given String is a Number.");
      }
      else
      {
          Console.WriteLine("The Given String is Not a Number.");
      }
    }
}

Production:

The Given String is a Number.

Article connexe - Csharp String

  • C# Supprimer efficacement tous les espaces d'une chaîne
  • Comment convertir une chaîne de caractères en booléen en C#