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

C#のSByte.GetTypeCode()メソッドとは?使い方をサンプルコード付きで解説

SByte.GetTypeCode()メソッドとは

C#のSByte.GetTypeCode()メソッドは、値型 SByte(8ビット符号付き整数)に対応する TypeCode を返すために使用されます。TypeCodeはオブジェクトの型を識別するための列挙体であり、SByte型の場合は常に「TypeCode.SByte」が返されます。

SByte型は、-128〜127の範囲の整数値を格納できる符号付き8ビット整数型です。GetTypeCode()メソッドを活用することで、実行時に変数の型情報を取得し、リフレクションや動的な型判定が必要な場面で型に応じた処理を行うことができます。

構文

構文は以下のとおりです。

public TypeCode GetTypeCode ();

このメソッドは引数を受け取らず、呼び出し元のインスタンスのTypeCodeを戻り値として返します。

使用例1:ボックス化された値との比較

sbyte型の変数と、object型にボックス化されたsbyte値を比較する例を見てみましょう。

using System;
public class Demo {
   public static void Main() {
      sbyte s1 = 55;
      object s2 = (sbyte)55;
      Console.WriteLine("Value of S1 = "+s1);
      Console.WriteLine("Value of S2 = "+s2);
      int res = s1.CompareTo(s2);
      if (res > 0)
         Console.WriteLine("s1 > s2");
      else if (res < 0)
         Console.WriteLine("s1 < s2");
      else
         Console.WriteLine("s1 = s2");
      Console.WriteLine("HashCode for s1 = "+s1.GetHashCode());
      Console.WriteLine("GetTypeCode for s1 = "+s1.GetTypeCode());
      Console.WriteLine("HashCode for s2 = "+s2.GetHashCode());
   }
}

出力結果

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

Value of S1 = 55
Value of S2 = 55
s1 = s2
HashCode for s1 = 14135
GetTypeCode for s1 = SByte
HashCode for s2 = 14135

この例では、sbyte型の変数 s1 と、object型にキャスト(ボックス化)された s2 を CompareTo() メソッドで比較しています。両者は同じ値55を持つため「s1 = s2」と表示され、GetTypeCode()メソッドは「SByte」を返します。また、同じ値を持つためハッシュコードも同一になっています。

使用例2:異なる値同士の比較

次に、異なる値を持つ2つのsbyte変数を比較する例を見てみましょう。

using System;
public class Demo {
   public static void Main() {
      sbyte s1 = 10;
      sbyte s2 = 100;
      Console.WriteLine("Value of S1 = "+s1);
      Console.WriteLine("Value of S2 = "+s2);
      int res = s1.CompareTo(s2);
      if (res > 0)
         Console.WriteLine("s1 > s2");
      else if (res < 0)
         Console.WriteLine("s1 < s2");
      else
         Console.WriteLine("s1 = s2");
      Console.WriteLine("HashCode for s1 = "+s1.GetHashCode());
      Console.WriteLine("GetTypeCode for s1 = "+s1.GetTypeCode());
      Console.WriteLine("HashCode for s2 = "+s2.GetHashCode());
      Console.WriteLine("GetTypeCode for s2 = "+s2.GetTypeCode());
   }
}

出力結果

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

Value of S1 = 10
Value of S2 = 100
s1 < s2
HashCode for s1 = 2570
GetTypeCode for s1 = SByte
HashCode for s2 = 25700
GetTypeCode for s2 = SByte

この例では、s1(10)とs2(100)を比較しているため「s1 < s2」と表示されます。さらに、それぞれのハッシュコードとTypeCodeも出力しており、どちらの変数も「SByte」であることが確認できます。

まとめ

SByte.GetTypeCode()メソッドを使用すると、sbyte値のTypeCodeを簡単に取得できます。戻り値は常に TypeCode.SByte となるため、実行時の型判定やリフレクションを利用するプログラムにおいて、型情報を統一的に扱いたい場合に非常に便利です。

  1. C#のInt32.GetTypeCode()メソッドとは?使い方をサンプルコード付きで解説

    はじめにC#のInt32.GetTypeCode()メソッドは、値型Int32(int)に対応するTypeCodeを返すためのメソッドです。変数がどの型分類に属しているかをTypeCode列挙体として確認したい場合に利用できます。構文メソッドの構文は以下の通りです。public TypeCode GetTypeCode ();引数は取らず、戻り値として TypeCode.Int32 を返します。サンプルコード1:基本的な使い方まずは、Int32.GetTypeCode()メソッドの基本的な使用例を見てみましょう。using System; public class Demo { publ

  2. C#のUInt16.GetTypeCode()メソッドとは?使い方を実例付きで解説

    C#におけるUInt16.GetTypeCode()メソッドは、値型UInt16に対応するTypeCode(型コード)を取得するためのメソッドです。この記事では、基本的な構文と具体的なコード例を通じて、その動作をわかりやすく解説します。構文UInt16.GetTypeCode()メソッドの構文は以下の通りです。public TypeCode GetTypeCode ();使用例1:通常のushort値の場合まず、実際のushort型の値に対してGetTypeCode()メソッドを使用する例を見てみましょう。using System; public class Demo {  &nbs