カテゴリ: C# 更新日: 2025/06/28

C#で型を調べる方法!GetType()・typeof演算子の違いと使い方

C#で型を調べる方法!GetType()・typeof演算子の違いと使い方
C#で型を調べる方法!GetType()・typeof演算子の違いと使い方

先生と生徒の会話形式で理解しよう

生徒

「先生、C#で変数の型を調べることってできますか?」

先生

「はい、できますよ。C#では、GetType()メソッドやtypeof演算子を使って型を調べることができます。」

生徒

「えっ、どっちも同じじゃないんですか?どう使い分けるんですか?」

先生

「それはとても良い疑問ですね。これから、両方の違いと使い方をしっかり説明していきましょう!」

1. C#で型を調べるとは?

1. C#で型を調べるとは?
1. C#で型を調べるとは?

C#(シーシャープ)では、変数がどの型(タイプ)なのかを調べることができます。というのは、「この変数は数字です」や「これは文字列です」といった、データの種類のことです。

プログラミングでは、データの型がとても重要です。間違った型のまま使うと、エラーが出てしまうこともあります。そのため、型を確認する方法を知っておくと、エラーを防いだり、プログラムの動きを理解したりするのに役立ちます。

2. GetType()メソッドとは?

2. GetType()メソッドとは?
2. GetType()メソッドとは?

GetType()メソッドは、変数が実際に持っているデータの型を調べるときに使います。使い方はとても簡単です。

例として、文字列(string)を入れた変数の型を調べてみましょう。


string message = "こんにちは";
Console.WriteLine(message.GetType());

System.String

このように、変数messageの型がSystem.String(C#でいう文字列型)だとわかります。

GetType()は、変数の中身が決まっているときに、その型を調べたい場合に使います。

3. typeof演算子とは?

3. typeof演算子とは?
3. typeof演算子とは?

一方、typeof(タイプオブ)演算子は、型そのものを直接指定して使います。変数ではなく、型の名前を渡して使う点がポイントです。


Console.WriteLine(typeof(int));

System.Int32

このコードでは、int(整数型)がSystem.Int32であると表示されます。

つまり、typeofは、これから使おうとしている型の情報を取得したいときに使います。

4. GetType()とtypeofの違い

4. GetType()とtypeofの違い
4. GetType()とtypeofの違い

ここで、GetType()typeofの違いを表でまとめておきましょう。

使い方 使うタイミング
GetType() 変数の型を調べるとき myVar.GetType()
typeof 型そのものを指定したいとき typeof(string)

5. typeofとGetType()を比較するサンプル

5. typeofとGetType()を比較するサンプル
5. typeofとGetType()を比較するサンプル

ここでは、typeofGetType()を同時に使って、同じ型かどうかを比較してみましょう。


int number = 100;

// GetType()とtypeofで型が一致するか調べる
if (number.GetType() == typeof(int))
{
    Console.WriteLine("型はintです!");
}
else
{
    Console.WriteLine("型が違います。");
}

型はintです!

このように、変数numberの型がintであることを確認することができます。

6. GetType()の戻り値の仕組み

6. GetType()の戻り値の仕組み
6. GetType()の戻り値の仕組み

GetType()が返す値は、Typeという特別なオブジェクトです。これはC#に用意された「型の情報を表すクラス」です。たとえば、次のように書くこともできます。


var typeInfo = "C#入門".GetType();
Console.WriteLine(typeInfo.FullName);

System.String

FullNameプロパティを使うと、より詳しい型の情報(完全修飾名)を見ることができます。

7. typeofを条件に使う活用例

7. typeofを条件に使う活用例
7. typeofを条件に使う活用例

typeofは、条件分岐や型のチェックにも使えます。たとえば、ジェネリック(型に依存する処理)で条件を変えるときなどです。


Type t = typeof(double);

if (t == typeof(double))
{
    Console.WriteLine("double型です。");
}

double型です。

このように、typeofは特定の型を前提とした処理に活用されます。

8. 実際にどちらを使えばよいのか?

8. 実際にどちらを使えばよいのか?
8. 実際にどちらを使えばよいのか?

プログラミング初心者の方は、「変数の中身の型を知りたいか」「型そのものを扱いたいか」で使い分けると覚えやすいです。

  • 変数の型を知りたいときGetType()
  • 型そのものを直接扱いたいときtypeof

まずは、GetType()を使ってみることから始めると理解しやすいでしょう。

カテゴリの一覧へ
新着記事
COBOLの変数名の付け方を解説!初心者でもわかる命名規則とコツ
C#のbreakとcontinueの使い方!ループ制御の基本テクニック
COBOLのFILLERの使い方とは?未使用領域を上手に管理する基本テクニック
C#のforeach文の基本!配列やコレクションを簡単に繰り返し処理する方法
人気記事
No.1
Java&Spring記事人気No1
COBOLのDISPLAY文の使い方を完全ガイド!初心者でもわかる出力方法
No.2
Java&Spring記事人気No2
C#のwhile文の使い方!条件付きループを基礎から学ぼう
No.3
Java&Spring記事人気No3
C#で型を調べる方法!GetType()・typeof演算子の違いと使い方
No.4
Java&Spring記事人気No4
COBOLのINDEXED BY句を使ったインデックス管理の基本をやさしく解説!