C# 識別字串是否為數字
Minahil Noor
2023年10月12日
-
C# 使用
Enumerable.All()
方法來識別字串是否為數字 -
C# 使用
Regex.IsMatch()
方法來識別字串是否為數字 -
C# 使用
Int32.TryParse()
方法來識別字串是否為數字 -
C# 使用
foreach
迴圈來識別字串是否為數字
在處理現實世界中的問題時,我們希望將輸入作為字串,而將其用作整數。為了使之成為可能,我們總是必須確認輸入的字串是否為數字。
在 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.