C#
 Computer >> コンピューター >  >> プログラミング >> C#

C#でのHashTableとDictionaryの違い


HashTableとDictionaryはどちらも、データを格納するために使用されるデータ構造のタイプです。これらのデータ構造は両方とも、保存されたデータをキーと値のペアで保持します。

これらの主要な機能の違いに基づいて、HashTableとDictionaryを次のように区別できます-

Sr。いいえ。 キー HashTable 辞書
1 定義 HashTableは、キーと値のペアでデータを格納するために使用される非汎用タイプのコレクションであり、 System.Collectionsで定義されます。 名前空間。 一方、Dictionaryは、 System.Collection.Genericsで定義されているジェネリック型コレクションです。 キーと値のペアの形式でもデータを格納する名前空間。
2 DataType HashTableでは、同じまたは異なるデータ型のデータをキーと値として格納できます。キーと値が同じDataTypeである必要があるという制限はなく、HashTableにのみ格納できます。また、キーと値のタイプを指定する必要はありません。 一方、ディクショナリのキーと値が同じDataTypeである必要がある場合は、ディクショナリにのみ保存でき、作成時にキーと値のタイプを指定する必要があります。
3 データ検索 HashTableの場合、辞書の場合と比較して、ボクシングとアンボクシングのためにデータの取得が遅くなります。 一方、ディクショナリデータの場合、ディクショナリの場合はボクシングとアンボクシングが行われないため、取得が高速になります。
4 ヌル値 指定されたHashTableに存在しないキーへのアクセス時にHashTablenull値が処理された場合、結果としてnull値が返されます。 一方、辞書の場合、指定された辞書に存在しないキーにアクセスしようとするとエラーが発生します。
5 データの順序 HashTableは、挿入されたキー値データの順序を維持しません。 一方、Dictionaryは保存された値の挿入順序を維持します。

  1. C#での辞書とハッシュテーブルの違い

    ハッシュテーブルは辞書よりも低速です。強く型付けされたコレクションの場合、辞書コレクションの方が高速です。 ハッシュテーブル ハッシュテーブルクラスは、キーのハッシュコードに基づいて編成されたキーと値のペアのコレクションを表します。キーを使用してコレクション内の要素にアクセスします。 例を見てみましょう- 例 using System; using System.Collections; namespace Demo {    class Program {       static void Main(string[] args) {

  2. C#のリストと辞書の違いは何ですか?

    辞書は、C#のキーと値のコレクションです。 Dictionary は、System.Collection.Generics名前空間に含まれています。辞書はジェネリック型であり、そこにないキーを見つけようとするとエラーを返します。 リストコレクションはジェネリッククラスであり、リストを作成するために任意のデータ型を格納できます。 リストはアイテムのグループです- List<string> myList = new List<string>() {    "Maths",    "English&qu