C#ジェネリックとC++テンプレート
C#ジェネリックおよびC ++テンプレートは、パラメーター化された型のサポートを提供します。違いは次のとおりです-
柔軟性
C ++テンプレートは、C#ジェネリックよりも柔軟性があります
明示的な特殊化
明示的な特殊化はC#ではサポートされていません
タイプパラメータ
typeパラメーターは、C#のジェネリック型の基本クラスとして使用できません
C#では、型パラメーターにデフォルトの型を設定することはできません。
ランタイム
C ++テンプレートにはコンパイル時のモーダルがありますが、C#Genericsはコンパイル時と実行時の両方です。ジェネリックはランタイムをサポートしています。
非型テンプレートパラメータ
C#Templatesは、型以外のテンプレートパラメータを許可しません。
部分的な特殊化
C#は部分的な特殊化さえサポートしていません。
-
C#でのジェネリックと非ジェネリック
C#には、非ジェネリックコレクションとジェネリックコレクションの2種類のコレクションがあります。 C#のジェネリックス ジェネリックコレクションは、同じデータ型の要素を保持します。 例- リスト 辞書 ハッシュセット 辞書- 辞書は、C#のキーと値のコレクションです。辞書はSystem.Collection.Generics名前空間に含まれています。 ハッシュセット- C#のHashSetは、配列内の重複する文字列または要素を排除します。C#では、最適化されたセットコレクションです。 C#の非ジェネリック 非ジェネリックコレクションは、さまざまなデータ型の要素を保持します。
-
C#のジェネリック
ジェネリックスを使用すると、任意のデータ型で機能するクラスまたはメソッドを記述できます。 データ型の代わりのパラメーターを使用して、クラスまたはメソッドの仕様を記述します。コンパイラーは、クラスのコンストラクターまたはメソッドの関数呼び出しを検出すると、特定のデータ型を処理するコードを生成します。 ジェネリックスは、次の方法でプログラムを強化する手法です- コードの再利用、型の安全性、パフォーマンスを最大化するのに役立ちます。 ジェネリックコレクションクラスを作成できます。 .NET Frameworkクラスライブラリには、System.Collections.Generic名前