【C# ジェネリック】ジェネリックの基礎 part6-1

【C# ジェネリック】ジェネリックの基礎 part6-1

今回はジェネリックについて紹介していきます!

ジェネリック(総称性)

概要

ジェネリックは,型自体をパラメーター化することを可能にします.

例えば,今までは数値や文字列などは,変数名として置換える事ができました.

ジェネリックでは,int型やstring型などのキーワードを,型シンボル名として置換える事をできます.

 

クラスのジェネリック

一番簡単なジェネリックです.

クラスを宣言する時に,クラス名の後に「<>」で型シンボル名を記述します.

フィールド(またはメソッド)には,宣言した型シンボル名を使って,変数を宣言する事ができます.

ジェネリックを使って作成したクラスは,インスタンスを生成する時に,型シンボル名を指定する必要があります.

では,実際にサンプルプログラムで動作を確認します.

 

実行結果



既に,気付いている方もいるかもしれませんが,

Listなどのコレクションを宣言する時も,同じ様に記述しました.

実は,Listはジェネリックを使ったクラスです!

また,型シンボル名には,「Type」や「T」と記述する事が多いです.

 

複数の型を指定する時には,「,」で区切って宣言します.

 

メソッドのジェネリック

メソッドのジェネリックは,戻り値の型と引数の型を型シンボル名で置換える事ができます.

例えば,次のように記述します.

引数を指定しない場合

戻り値の型を置換えない場合

メソッドを呼び出す時は,従来と同じように記述します.(「<>」をつける事で明示的に型を決めて呼び出す事ができます.)

試しに,受け取った値をそのまま戻り値にする無意味なメソッドを作ってみます.

 

実行結果