C# 文字列が数値かどうかを識別する
-
Enumerable.All()
メソッドを使用して、string
が数値かどうかを識別する C# プログラム -
Regex.IsMatch()
メソッドを使用して、string
が数値かどうかを識別する C# プログラム -
文字列
がInt32.TryParse()
メソッドを使用して数値であるかどうかを識別する C# プログラム -
foreach
ループを使用してstring
が数値であるかどうかを識別する C# プログラム
現実の問題を処理しているときに、入力を文字列
として受け取り、それを整数
として使用したいという問題に直面することがあります。これを可能にするには、入力された文字列
が数値であるかどうかを常に確認する必要があります。
C# では、多くのメソッドを使用して、入力の文字列
が数値かどうかを識別できます。この記事を最後まで読んでいる間に、これらの方法を発見します。
Enumerable.All()
メソッドを使用して、string
が数値かどうかを識別する C# プログラム
Enumerable.All()
メソッドは LINQ
に属しています。LINQ
は C# の一部であり、さまざまなデータベースやデータソースへのアクセスに使用されます。このメソッドを変更して、string
が数値であるかどうかを確認できます。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.
Regex.IsMatch()
メソッドを使用して、string
が数値かどうかを識別する C# プログラム
C# では、正規表現
を使用してさまざまなパターンをチェックできます。正規表現
は、特定のアクションを実行するための特定のパターンです。C# には、^[0-9]+$
および ^\d+$
正規表現があり、string
が数値であるかどうかを確認できます。
このメソッドを使用するための正しい構文は次のとおりです。
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.
ここで重要なのは、2つの正規表現
、^[0-9]+$
、^\d+$
の機能が同じでないことです。^[0-9]+$
は基本的な 0-9 文字に使用されますが、RegexOptions.ECMAScript
が指定されていない(デフォルト)場合は、RegexOptions.ECMAScript
を指定せずに、Unicode
の 10 進数
文字に^\d+$
を使用しています。
文字列
が Int32.TryParse()
メソッドを使用して数値であるかどうかを識別する C# プログラム
Int32.TryParse()
メソッドは、数値の string
を 32 ビットの符号付き整数に変換するために使用されます。string
が数値でない場合、正常に変換されないため、このメソッドは 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.
foreach
ループを使用して string
が数値であるかどうかを識別する C# プログラム
これは、string
が数値かどうかを識別する最も基本的なプロセスです。このプロセスでは、foreach
ループを使用して、string
のすべての文字が数字であることを確認します。
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.