C# 文字列が数値かどうかを識別する

  1. Enumerable.All() メソッドを使用して、string が数値かどうかを識別する C# プログラム
  2. Regex.IsMatch() メソッドを使用して、string が数値かどうかを識別する C# プログラム
  3. 「文字列」が Int32.TryParse() メソッドを使用して数値であるかどうかを識別する C# プログラム
  4. 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 を指定せずに、Unicode10 進数文字に^\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.
comments powered by Disqus