C# Identifizieren, ob eine Zeichenkette eine Zahl ist

Minahil Noor 12 Oktober 2023
  1. C# Programm zum Identifizieren, ob eine Zeichenkette eine Zahl ist Mit der Methode Enumerable.All()
  2. C# Programm zur Identifizierung, ob eine String eine Zahl ist, unter Verwendung der Regex.IsMatch() Methode
  3. C# Programm zur Identifizierung, ob eine String eine Zahl ist Mit der Methode Int32.TryParse()
  4. C# Programm zur Identifizierung, ob eine String eine Zahl ist, unter Verwendung einer foreach-Schleife
C# Identifizieren, ob eine Zeichenkette eine Zahl ist

Wenn wir uns mit Problemen aus der realen Welt beschäftigen, stehen wir manchmal vor einem Problem, bei dem wir die Eingabe als “Zeichenkette” nehmen, sie aber als “Ganzzahl” verwenden wollen. Um dies zu ermöglichen, müssen wir immer bestätigen, ob die eingegebene Zeichenkette eine Zahl ist oder nicht.

In C# können wir viele Methoden verwenden, um festzustellen, ob eine eingegebene Zeichenkette eine Zahl ist oder nicht. Sie werden diese Methoden entdecken, wenn Sie diesen Artikel bis zum Ende lesen.

C# Programm zum Identifizieren, ob eine Zeichenkette eine Zahl ist Mit der Methode Enumerable.All()

Die Methode Enumerable.All() gehört zu LINQ. LINQ ist ein Teil von C# und wird verwendet, um auf verschiedene Datenbanken und Datenquellen zuzugreifen. Wir können diese Methode modifizieren, um zu prüfen, ob ein String eine Zahl ist. Wir werden die Methode char.IsDigit() als Parameter an die Methode Enumerable.All() übergeben.

Die korrekte Syntax zur Verwendung dieser Methode lautet wie folgt:

StringName.All(char.IsDigit);

Beispiel-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.");
    }
  }
}

Ausgabe:

The Given String is a Number.

C# Programm zur Identifizierung, ob eine String eine Zahl ist, unter Verwendung der Regex.IsMatch() Methode

In C# können wir reguläre Ausdrücke verwenden, um verschiedene Muster zu überprüfen. Ein “regulärer Ausdruck” ist ein bestimmtes Muster, um eine bestimmte Aktion durchzuführen. In C# haben wir ^[0-9]+$ und ^\d+$ reguläre Ausdrücke, um zu prüfen, ob eine String eine Zahl ist.

Die korrekte Syntax zur Verwendung dieser Methode lautet wie folgt:

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

Beispiel-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.");
    }
  }
}

Ausgabe:

The Given String is a Number.

Hier ist der wichtige Punkt, dass die beiden regulären Ausdrücke, ^[0-9]+$ und ^\d+$, in ihrer Funktionsweise nicht identisch sind. ^[0-9]+$ wird für die grundlegenden 0-9 Zeichen verwendet, aber ^\d+$ wird im Unicode für Dezimalziffer Zeichen verwendet, ohne Angabe von RegexOptions.ECMAScript (Voreinstellung). Zum Beispiel wird als 4 im Thailändischen auch als Zahl identifiziert.

C# Programm zur Identifizierung, ob eine String eine Zahl ist Mit der Methode Int32.TryParse()

Die Methode Int32.TryParse() wird verwendet, um die String von Zahlen in eine 32-Bit vorzeichenbehaftete Ganzzahl umzuwandeln. Wenn die Zeichenkette nicht numerisch ist, wird sie nicht erfolgreich konvertiert, und daher gibt diese Methode false zurück.

Die korrekte Syntax zur Verwendung dieser Methode lautet wie folgt:

Int32.TryParse(StringName, out intvariable);

Hier ist Variable jede nicht initialisierte ganzzahlige Variable.

Beispiel-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.");
    }
  }
}

Ausgabe:

The Given String is a Number.

C# Programm zur Identifizierung, ob eine String eine Zahl ist, unter Verwendung einer foreach-Schleife

Dies ist der grundlegendste Prozess, um festzustellen, ob eine “Zeichenkette” eine Zahl ist. In diesem Prozess überprüfen wir jedes Zeichen der Zeichenkette mit Hilfe der Foreach-Schleife, ob es sich um eine Zahl handelt.

Die korrekte Syntax zur Verwendung der foreach-Schleife lautet wie folgt:

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

Beispiel-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.");
    }
  }
}

Ausgabe:

The Given String is a Number.

Verwandter Artikel - Csharp String