ホームページ  >  記事  >  バックエンド開発  >  C# ジェネリック型の詳細な紹介

C# ジェネリック型の詳細な紹介

黄舟
黄舟オリジナル
2017-03-22 11:35:011408ブラウズ

この記事では主にC#ジェネリック型を紹介します。これは非常に優れており、参照値があります。必要な友人は参照してください

前の記事では、型システム (値型と参照型) の簡単な分析を紹介しました。 C# の場合 次に、この記事を通じて C# のジェネリック型について説明します

ジェネリックを上手に使用すると、コードの再利用性がすぐに向上します。ほんの少しだけです。後で学んで習得すべき知識がまだたくさんあるからです。まず、Dictionary8c189faf63255a5ea96468ba21dd0564 を使用する次の例を見てみましょう。

static void Main(string[] args)
{
 Dictionary<int, string> result = GetAll();
}
public static Dictionary<int, string> GetAll()
{
  var dic = new Dictionary<int, string>();
 dic.Add(1, "aaa");
 dic.Add(1, "aaa");
 dic.Add(1, "aaa");
 return dic;
}

ジェネリックの 2 つの形式: ジェネリック型 (クラス、インターフェース、デリゲート、構造体) とジェネリック メソッド、TKey と TValue は型パラメーターであり、渡される int と string は Out 型パラメーターであることがわかります。は実際の型の単なるプレースホルダーです。型パラメーターに実際のパラメーターを提供しないジェネリックは、非構築ジェネリック型と呼ばれます。型パラメーターが指定されている場合、それらは構築型と呼ばれ、その型のインスタンスが使用されるオブジェクトです。以下関係図。

ジェネリックの判断は頭が痛いです 次に、丁寧に説明しないといけませんが、本に書いてあることが理解できないので、頑張ってください。それについて話してください。よくわからない場合は、本の説明を読んでください。まず下の図を見てください

このような汎用メソッドを見るときは、実際の使用時にパラメータの型を置き換える必要があります (前述したように、パラメータの型は実際には型の実パラメータのプレースホルダーです) , use string to replace T, use int to replace TOutput

 public static List<int> GetAll(Converter<string, int> conv)
 {
}

このうち、Converter6d9430f5a2bd9e81315e5890ec9893b4 が構築型で、conv が仮パラメータであることが分かるはずです。 Converter6d9430f5a2bd9e81315e5890ec9893b4 を使用します。 汎用デリゲートのインスタンスがパラメーターとして使用され、整数を含むリストを返します。

以上がC# ジェネリック型の詳細な紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。