C#で値型Int32のTypeCodeを取得する方法
C#において、値型 Int32 のTypeCodeを取得するには、GetTypeCode() メソッドを使用します。このメソッドは、オブジェクトの基となる型を示す TypeCode 列挙体の値を返します。Int32型の変数に対して呼び出すと、TypeCode.Int32 が返されます。
サンプルコード1
以下は、int型(Int32)の変数からTypeCodeを取得する例です。
using System;
public class Demo {
public static void Main() {
int val1 = 100;
int val2 = 50;
Console.WriteLine("Value1 = "+val1);
Console.WriteLine("Value2 = "+val2);
Console.WriteLine("Are they equal? = "+val1.Equals(val2));
Console.WriteLine("HashCode for Value1 = "+val1.GetHashCode());
Console.WriteLine("HashCode for Value2 = "+val2.GetHashCode());
TypeCode type1 = val1.GetTypeCode();
TypeCode type2 = val2.GetTypeCode();
Console.WriteLine("TypeCode for Value1 = "+type1);
Console.WriteLine("TypeCode for Value2 = "+type2);
}
}実行結果
上記のコードを実行すると、次のような出力が得られます。
Value1 = 100 Value2 = 50 Are they equal? = False HashCode for Value1 = 100 HashCode for Value2 = 50 TypeCode for Value1 = Int32 TypeCode for Value2 = Int32
この例では、Equals() メソッドによる値の比較や、GetHashCode() メソッドによるハッシュコードの取得も併せて確認できます。さらに、両方の変数に対して GetTypeCode() を呼び出した結果、いずれも Int32 というTypeCodeが返されていることがわかります。
サンプルコード2
続いて、別の例を見てみましょう。通常の値と Int32.MaxValue(Int32型が表現できる最大値)を使ってTypeCodeを取得します。
using System;
public class Demo {
public static void Main() {
int val1 = 5;
int val2 = Int32.MaxValue;
Console.WriteLine("Value1 = "+val1);
Console.WriteLine("Value2 = "+val2);
TypeCode type1 = val1.GetTypeCode();
TypeCode type2 = val2.GetTypeCode();
Console.WriteLine("TypeCode for Value1 = "+type1);
Console.WriteLine("TypeCode for Value2 = "+type2);
}
}実行結果
上記のコードを実行すると、次のような出力が得られます。
Value1 = 5 Value2 = 2147483647 TypeCode for Value1 = Int32 TypeCode for Value2 = Int32
このように、変数に格納されている値が小さな数値であっても、Int32型の最大値であっても、GetTypeCode() メソッドが返すTypeCodeは常に Int32 になります。TypeCodeは値そのものではなく、変数の「型」に基づいて決まるためです。
-
C#で現在のインスタンスの型を取得する方法(GetTypeメソッド)
C#でオブジェクトの現在のインスタンスの型(実行時の型)を取得するには、GetType()メソッドを使用します。このメソッドはすべての型の基底クラスであるSystem.Objectに定義されており、呼び出し元インスタンスの正確な型をSystem.Typeオブジェクトとして返します。 GetType()メソッドの基本 GetType()はインスタンスに対して呼び出すことで、その実行時の型情報を取得できます。戻り値であるTypeオブジェクトをそのまま文字列連結して出力すると、「System.String」や「System.Int32」のような完全修飾型名が表示されます。 例1:string型のイン
-
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