汎用ノート
汎用型
汎用(C#2.0):
汎用型はプログラム設計言語の特性である.プログラマが強いタイプのプログラム設計言語でコードを記述するときに、使用前に示す必要があるいくつかの可変部分を定義できます.さまざまなプログラミング言語は、コンパイラ、実行環境の汎用的なサポートとは異なります.タイプをパラメータ化して、コード多重化を達成し、ソフトウェア開発の生産性を向上させるデータ型です.汎用クラスは参照タイプであり,スタックオブジェクトであり,主にタイプパラメータという概念を導入した.
利点:1.汎用クラス、メソッドを使用すると、タイプの異なるコード(タイプパラメータのみが異なる)のコードを複数回書く必要がなく、コードの再利用性を大幅に向上させることができます.2.汎用クラスを作成し、コンパイル時にタイプの安全な集合を作成することができる3.梱包と解体作業の性能低下を回避し、大型集合では梱包と解体の影響が非常に大きい.
汎用制約:
汎用(C#2.0):
汎用型はプログラム設計言語の特性である.プログラマが強いタイプのプログラム設計言語でコードを記述するときに、使用前に示す必要があるいくつかの可変部分を定義できます.さまざまなプログラミング言語は、コンパイラ、実行環境の汎用的なサポートとは異なります.タイプをパラメータ化して、コード多重化を達成し、ソフトウェア開発の生産性を向上させるデータ型です.汎用クラスは参照タイプであり,スタックオブジェクトであり,主にタイプパラメータという概念を導入した.
利点:1.汎用クラス、メソッドを使用すると、タイプの異なるコード(タイプパラメータのみが異なる)のコードを複数回書く必要がなく、コードの再利用性を大幅に向上させることができます.2.汎用クラスを作成し、コンパイル時にタイプの安全な集合を作成することができる3.梱包と解体作業の性能低下を回避し、大型集合では梱包と解体の影響が非常に大きい.
汎用制約:
where T: struct
。 Nullable 。 , null (C# )。
where T : class
; 、 、 。
where T:new()
。 ,new() 。
where T:
。
where T:
。 。 。
where T:U
T U U 。