C# で Char を Int に変換する

Abdullahi Salawudeen 2023年10月12日
  1. C#char データ型
  2. C#Char.GetNumericValue() メソッドを使用して charint に変換する
  3. C#Convert.ToInt32() メソッドを使用して charint に変換する
  4. C#Int32.Parse() メソッドを使用して charint に変換する
C# で Char を Int に変換する

C# はオブジェクト指向プログラミング言語です。これは、変数が格納する値のタイプを示しながら、すべての変数を宣言する必要があることを意味します。

C# 変数は、データ型と呼ばれるさまざまな形式または型で保存されます。

C#char データ型

Char データ型で変数を宣言するサンプル構文。

type variableName = value;
char grade = 'A';
char myCharacter = 'X';
char myLuckyNumber = '3';

char データ型には 1 文字が格納されます。文字は、'A''X'などの単一引用符で囲む必要があります。

C#Char.GetNumericValue() メソッドを使用して charint に変換する

Char.GetNumericValue() メソッドは、指定された数値の Unicode 文字を倍精度浮動小数点数に変換します。

メソッドが一重引用符で囲まれた数値を持つ char 変数に適用される場合、その数値が返されます。それ以外の場合は-1 が返されます。

コードスニペット:

using System;

public class GetNumericValue {
  public static void Main() {
    int result = (int)Char.GetNumericValue('8');
    Console.WriteLine(result);                     // Output: "8"
    Console.WriteLine(Char.GetNumericValue('X'));  // Output: "-1"
  }
}

出力:

8-1

C#Convert.ToInt32() メソッドを使用して charint に変換する

Convert.ToInt32() 関数は、指定された値を 32 ビットの符号付き整数に変換します。ToInt32() メソッドには、渡された引数のデータ型に応じて非常に多くのバリエーションがあります。

コードスニペット:

using System;

public class ConvertCharToInt {
  public static void Main() {
    char c = '3';
    Console.WriteLine(Convert.ToInt32(c.ToString()));  // Output: "3"
    Console.WriteLine(Convert.ToInt32(c));             // Output: "51"
  }
}

出力:

351

char データ型が引数として Convert.Tolnt32() メソッドに渡されると、同等の ASCII が返されます。

C#Int32.Parse() メソッドを使用して charint に変換する

Int32.Parse() メソッドは、数値の string 表現を 32 ビットの符号付き整数に相当するものに変換します。このメソッドの欠点は、数値を string 引数として渡す必要があることです。

char データ型は最初に string データ型に変換する必要があり、一重引用符' 'で数値を含める必要があります。そうでない場合、コードはオーバーフロー例外をスローします。

コードスニペット:

using System;

public class GetNumericValue {
  public static void Main() {
    char c = '3';
    char s = 'x';
    string str = c.ToString();
    string ex = s.ToString();

    Console.WriteLine(Int32.Parse(str));
    // Console.WriteLine(Int32.Parse(ex)); // Output: "ThrowEx"
  }
}

出力:

3

以下に示すように、char 値が一重引用符' 'の数値でない場合、例外がスローされます。

コードスニペット:

using System;

public class GetNumericValue {
  public static void Main() {
    char s = 'x';
    string ex = s.ToString();

    Console.WriteLine(Int32.Parse(ex));
  }
}

出力:

Unhandled Exception:
System.FormatException: Input string was not in a correct format.
Abdullahi Salawudeen avatar Abdullahi Salawudeen avatar

Abdullahi is a full-stack developer and technical writer with over 5 years of experience designing and implementing enterprise applications. He loves taking on new challenges and believes conceptual programming theories should be implemented in reality.

LinkedIn GitHub

関連記事 - Csharp Char

関連記事 - Csharp Int