C#
 Computer >> コンピューター >  >> プログラミング >> C#

C#で値型DecimalのTypeCodeを取得する方法

C#において、値型 Decimal の TypeCode を取得するには、GetTypeCode() メソッドを使用します。このメソッドは IConvertible インターフェースで定義されており、呼び出し元のインスタンスに対応する TypeCode 列挙体の値を返します。

この記事では、具体的なコード例を使いながら、Decimal 型の TypeCode を取得する方法をわかりやすく解説します。

例1:Decimal.MaxValue を使用した場合

まず、Decimal.MaxValue(Decimal 型が表現できる最大値)を使用した例を見てみましょう。

using System;

public class Demo {
   public static void Main(){
      Decimal val = Decimal.MaxValue;
      Console.WriteLine("Decimal Value = {0}", val);
      Console.WriteLine("HashCode = {0}", (val.GetHashCode()) );
      TypeCode type = val.GetTypeCode();
      Console.WriteLine("TypeCode = "+type);
   }
}

実行結果

上記のコードを実行すると、次のような出力が得られます。

Decimal Value = 79228162514264337593543950335 
HashCode = 1173356544 
TypeCode = Decimal

例2:小数値を持つDecimalの場合

続いて、小数点以下の値を持つ Decimal のインスタンスに対して、同じ処理を行ってみましょう。

using System;

public class Demo {
   public static void Main(){
      Decimal val = 3972.491M;
      Console.WriteLine("Decimal Value = {0}", val);
      Console.WriteLine("HashCode = {0}", (val.GetHashCode()) );
      TypeCode type = val.GetTypeCode();
      Console.WriteLine("TypeCode = "+type);
   }
}

実行結果

こちらも同様に、TypeCode として「Decimal」が出力されます。

Decimal Value = 3972.491
HashCode = 620041307
TypeCode = Decimal

ポイント解説

  • GetTypeCode() メソッド: すべての .NET の基本データ型で利用でき、その型に対応する TypeCode 列挙体のメンバーを返します。
  • TypeCode.Decimal: Decimal 型の場合は必ず TypeCode.Decimal が返されます。これは、値が最大値でも小数でも変わりません。
  • GetHashCode() メソッド: インスタンスのハッシュコードを取得するメソッドです。値によって異なる数値が返されますが、同一の値からは常に同じハッシュコードが生成されます。

このように、GetTypeCode() を使えば、Decimal 型の TypeCode を簡単に確認できます。リフレクションや型判定のロジックを実装する際に役立つので、ぜひ活用してみてください。

  1. C#で値型CharのTypeCodeを取得する方法

    C#において、値型CharのTypeCodeを取得するには、GetTypeCode()メソッドを使用します。このメソッドはTypeCode列挙型の値を返し、char型の場合は「Char」が返されます。以下に具体的なサンプルコードを示します。 例1 using System; public class Demo {    public static void Main() {       char val = '5';       bool res;       Cons

  2. C#のdecimal型(10進数型)とは?四則演算の基本をサンプルコードで解説

    C#におけるdecimal型(10進数型)は、値型(value type)に分類されるデータ型で、金額計算など高い精度が求められる場面でよく使われます。decimal型には、加算(+)、減算(-)、乗算(*)、除算(/)といった算術演算子が用意されており、通常の数値型と同じように演算を行うことができます。decimal型の変数を宣言するまず、2つのdecimal型の値を宣言してみましょう。decimal型のリテラルを代入する際は、数値の末尾に M または m サフィックスを付ける必要があります。decimal d1 = 5.8M; decimal d2 = 3.2M;decimal型同士の加算