\r\n\r\n
ジェネリックコレクションは、ベースとなるコレクション型から派生して型固有のメンバを実装することなく、型安全性を実現するクラスである。非属性コレクションは、スタック、キュー、リスト、ハッシュテーブルをサポートする、データの保存と検索のための特別なクラスです。C言語における汎用コレクションと非属性コレクションの主な違いは、汎用コレクションが強く型付けされるのに対し、非属性コレクションは強く型付けされないということです。
1. 概要と主な相違点 2. ジェネリックコレクションとは何か(C) #3. 非ジェネリックコレクションとは何か(C) #4. ジェネリックと非ジェネリックの類似点(C) #5. 並べて比較 - ジェネリックと非ジェネリックコレクション(C) 6. 要約
非一般的なコレクション(ArrayList、Queue、Stackなど)には、異なるデータ型の要素を格納することができます。アイテムを取得する際、プログラマは正しいデータ型に変換するためにタイプする必要があります。そうでない場合は、実行時例外が発生する可能性があります。この問題を解決するために、一般的なコレクションクラスを使用することができます。ジェネリックコレクションは、内部的に実際の型の配列に要素を格納する。そのため、タイプキャスティングは必要ありません。指定された型の要素を格納するために使用することができる。一般的なコレクションクラスには、List<T>, Dictionary<TKey, TValue>, SortedList<TKey, TValue>, HashSet<T>, Queue<T>, Stack<T> がある。
GenericList は、指定された型の要素を含む。それに応じて要素を追加していくことができる。のような文がある場合、list1に格納できる要素はすべて整数でなければならない。
リスト1 - 新しいリスト()。
C言語の一般的な辞書は、キーと値の集まりである。オブジェクト辞書1は、次のような文があるとき、int型のキーとstring型の値を格納することができる。
辞書 dictionary1 = new dictionary ().
通常のSortedListコレクションは、デフォルトでキーと値のペアを昇順で格納します。以下の例では、int 型のキーと string 型の値を格納している。
SortedList s0 = new SortedList ().
これらのコレクションは、指定されたデータ型の複数の値を格納できるため、強い型付けが可能です。
配列は、複数の要素を格納するために使用することができます。欠点としては、同じデータ型の要素を格納できることである。C言語には、コレクションと呼ばれる多くの値やオブジェクトを格納するために使用できるクラスがある。コレクションは、オブジェクトの保存、更新、削除、検索、並べ替えを支援します。コレクションのサイズは動的に増減させることができる。
非汎用コレクションクラスには、ArrayList、SortedList、Stack、Queue、HashTableなどがあり、それぞれIEnumerableインターフェースを実装しています。foreachループを使用して、コレクション内のアイテムの要素を繰り返し処理するのに役立ちます。
ArrayListは、配列の代わりになるものです。10個の要素を格納できる配列があったとして、20個の要素を格納することはできない。配列が10要素で初期化され、5要素しか格納されていない場合、残りの要素は未使用となります。したがって、配列は固定されています。ArrayListでは、インデックスに従って要素を追加または削除することができます。動的なメモリ割り当てが可能です。sortメソッドを使用すると、要素を昇順に並べることができます。
ハッシュテーブルは、キーと値のペアのコレクションを表現するために使用されます。これらは、キーのハッシュコードに基づいて組織化されています。したがって、各要素はキーとバリューのペアを持つ。キーは、コレクション内の特定の要素にアクセスするために使用されます。スタックは、アイテムに対する後入れ先出しのアクセス権を表します。キューは、先入れ先出しでアイテムにアクセスするために使用されます。これらは、C#がサポートする非ジェネリックコレクションの一部です。これらのコレクションは、さまざまなタイプの要素を格納することができます。
C#の一般的なコレクションと非一般的なコレクション | |
ジェネリックコレクションは、ベースとなるコレクション型から派生して型固有のメンバを実装することなく、型安全性を実現するクラスである。 | 非汎用コレクションは、データの保存と検索に特化したクラスで、スタック、キュー、リスト、ハッシュテーブルのサポートを提供します。 |
名前空間 | |
システムの汎用コレクションクラスです。 | 非ジェネリックコレクションクラスは、system.collection 名前空間にあります。 |
タイプ | |
一般的なコレクションは強く型付けされます。 | 非属性コレクションは強型付けされない。 |
ストレージコンポーネント | |
ジェネリックコレクションは、その実際の型の配列に要素を格納します。 | 非属性コレクションは、内部にオブジェクトの配列で要素を格納するため、あらゆる種類のデータを格納することができます。 |
この記事では、C#におけるジェネリックコレクションと非ジェネリックコレクションの違いについて説明します。汎用コレクションと非汎用コレクションの違いは、汎用コレクションは強く型付けされるが、非汎用コレクションは強く型付けされないことである。
1. "ジェネリックコレクションを使用する場合"マイクロソフトのドキュメントです。ここで提供される 2. "C言語による汎用コレクション"チュートリアルTeacher.comここで入手可能 3. "C# Collections:" Collections in C, tutorialteacher.com.こちらから入手可能です 4. "C# Collections" チュートリアル・ポイント、2018年3月19日。こちらで入手可能です 2. "C言語によるジェネリックコレクション"チュートリアルTeacher.com3. "C# Collections:" Collections in C#, tutorialteacher.com.4. "コレクション"。