C# 識別字串是否為數字

Minahil Noor 2023年10月12日
  1. C# 使用 Enumerable.All() 方法來識別字串是否為數字
  2. C# 使用 Regex.IsMatch() 方法來識別字串是否為數字
  3. C# 使用 Int32.TryParse() 方法來識別字串是否為數字
  4. C# 使用 foreach 迴圈來識別字串是否為數字
C# 識別字串是否為數字

在處理現實世界中的問題時,我們希望將輸入作為字串,而將其用作整數。為了使之成為可能,我們總是必須確認輸入的字串是否為數字。

在 C# 中,我們可以使用許多方法來識別輸入字串是否為數字。

C# 使用 Enumerable.All() 方法來識別字串是否為數字

Enumerable.All() 方法屬於 LINQ。LINQ 是 C# 的一部分,用於訪問不同的資料庫和資料來源。我們可以修改此方法以檢查字串是否為數字。我們將把 char.IsDigit() 方法作為引數傳遞給 Enumerable.All() 方法。

此方法的正確語法如下:

StringName.All(char.IsDigit);

示例程式碼:

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

輸出:

The Given String is a Number.

C# 使用 Regex.IsMatch() 方法來識別字串是否為數字

在 C# 中,我們可以使用正規表示式來檢查各種模式。正規表示式是執行特定動作的特定模式。在 C# 中,我們使用^[0-9]+$^\d+$ 正規表示式來檢查字串是否為數字。

此方法的正確語法如下:

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

示例程式碼:

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

輸出:

The Given String is a Number.

在這裡,重要的一點是兩個正規表示式 ^[0-9]+$^\d+$ 的功能並不相同。^[0-9]+$ 用於基本的 0-9 字元,而^\d+$ 用於 Unicode 中的十進位制數字,未指定 RegexOptions.ECMAScript 的類別。例如,泰語中的 4,也被標識為數字。

C# 使用 Int32.TryParse() 方法來識別字串是否為數字

Int32.TryParse() 方法用於將數字的字串轉換為 32 位帶符號整數。如果字串不是數字,則不會成功轉換,因此此方法返回 false。

此方法的正確語法如下:

Int32.TryParse(StringName, out intvariable);

這裡的 intvariable 是任何未初始化的 integer 變數。

示例程式碼:

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

輸出:

The Given String is a Number.

C# 使用 foreach 迴圈來識別字串是否為數字

這是識別字串是否為數字的最基本過程。在這個過程中,我們將使用 foreach 迴圈將字串的每個字元檢查為數字。

使用 foreach 迴圈的正確語法如下:

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

示例程式碼:

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

輸出:

The Given String is a Number.

相關文章 - Csharp String