.net column
.NET開発者のためのブログメディア

[C#]Genericsの使い方とは?GenericsメソッドやGenericsクラスの作成方法

2021年07月16日

SE
Genericsの使い方を知りたいです。

PM
Genericsを使わない場合の実装方法やGenericsのメソッドの作り方などを紹介します。

[C#]Genericsの使い方とは?


今回は、C#でのGenericsの使い方について説明します。Genericsとは、様々な型に自動的に対応するための、クラスやメソッドを生成する機能です。ここでは、Genericsを使わない場合の実装方法、GenericsメソッドやGenericsクラスの作成方法について紹介します。

Genericsの使い方に興味のある方はぜひご覧ください。

Genericsを使わない場合

C#でGenericsを説明する前に、Genericsを使わない場合の実装方法について紹介します。ここでは、2つの変数を入れ替えるメソッドを実装します。実際のソースコードを見てみましょう。

実行結果は以下のようになります。変数が入れ替えられていることが分かります。

IntSwapメソッドとStrSwapメソッドは引数の型が違うだけです。ロジックは同じなので、Genericsを利用すれば、型に応じたメソッドを作成できます。以降の章でGenericsの使い方を紹介します。

Genericsメソッド

C#でのGenericsメソッドの作り方を紹介します。先ほどのSwapメソッドをGenericsメソッドにします。Genericsメソッドには<T>を付与します。実際のソースコードを見てみましょう。

実行結果は以下のようになります。変数が入れ替えられていることが分かります。

このようにC#では、Genericsを利用することで型に応じたメソッドを作成できます。

Genericsクラス

C#でのGenericsクラスの作り方を紹介します。実際のソースコードを見てみましょう。

実行結果は以下のようになります。引数の型に応じてクラスが生成され、クラスメソッドが呼び出されていることが分かります。

このようにC#では、Genericsを利用することで型に応じたクラスを作成できます。

Genericsクラスのコンストラクタ

C#のGenericsメソッドでは、型引数が明確な場合は省略できます。先ほどの例だと、以下のように記述できます。

一方、コンストラクタは型引数を省略できません。コンストラクタ付きのGenericsクラスのサンプルを以下に記述します。

実行結果は以下のようになります。

このようにC#では、コンストラクタ付きのGenericsクラスの場合は型引数を省略できません。

SE
Genericsの使い方がわかりました。

PM
Genericsについての理解を深めて、実際に作成してみましょう。

まとめ

いかがでしたでしょうか。C#でのGenericsの使い方について説明しました。ここでは、Genericsを使わない場合の実装方法、GenericsメソッドやGenericsクラスの作成方法について紹介しました。

ぜひご自身でC#のソースコードを書いて、理解を深めてください。


.NET分野でのキャリアアップをお考えの方は、現在募集中の求人情報をご覧ください。

また、直接のエントリーも受け付けております。

エントリー(応募フォーム)

Search

Popular

reccomended

Categories

Tags