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

C#のOrderedDictionaryクラスとは?主なプロパティ・メソッドと使い方を解説

OrderedDictionaryクラスは、キーまたはインデックスのいずれかでアクセスできる、キー/値ペアのコレクションを表します。このクラスは System.Collections.Specialized 名前空間に属しており、要素を追加した順序が保持される点が大きな特徴です。そのため、「辞書のようにキーで素早くアクセスしつつ、挿入順も維持したい」というケースに適しています。

OrderedDictionaryクラスの主なプロパティ

以下は、OrderedDictionaryクラスの代表的なプロパティの一覧です。

番号プロパティと説明
1Count
OrderedDictionaryコレクションに格納されているキー/値ペアの数を取得します。
2IsReadOnly
OrderedDictionaryコレクションが読み取り専用かどうかを示す値を取得します。
3Item[Int32]
指定したインデックス位置にある値を取得または設定します。
4Item[Object]
指定したキーに関連付けられた値を取得または設定します。
5Keys
OrderedDictionaryコレクション内のキーを格納するICollectionオブジェクトを取得します。
6Values
OrderedDictionaryコレクション内の値を格納するICollectionオブジェクトを取得します。

OrderedDictionaryクラスの主なメソッド

続いて、OrderedDictionaryクラスの代表的なメソッドを見ていきましょう。

番号メソッドと説明
1Add(Object, Object)
指定したキーと値を持つエントリを、使用可能な最も小さいインデックスでOrderedDictionaryコレクションに追加します。
2AsReadOnly()
現在のOrderedDictionaryコレクションの読み取り専用コピーを返します。
3Clear()
OrderedDictionaryコレクションからすべての要素を削除します。
4Contains(Object)
OrderedDictionaryコレクションに特定のキーが含まれているかどうかを判断します。
5CopyTo(Array, Int32)
OrderedDictionaryの要素を、指定したインデックスを起点として1次元のArrayオブジェクトにコピーします。
6Equals(Object)
指定したオブジェクトが現在のオブジェクトと等しいかどうかを判断します(Objectクラスから継承)。
7GetEnumerator()
OrderedDictionaryコレクションを反復処理するためのIDictionaryEnumeratorオブジェクトを返します。

使用例

例1:Countプロパティで要素数を取得する

OrderedDictionaryに格納されているキー/値ペアの数を取得するコード例は次のとおりです。

using System;
using System.Collections;
using System.Collections.Specialized;

public class Demo {
   public static void Main() {
      OrderedDictionary dict = new OrderedDictionary();
      dict.Add("A", "家電製品");
      dict.Add("B", "エレクトロニクス");
      dict.Add("C", "スマートウェアラブル");
      dict.Add("D", "ペット用品");
      dict.Add("E", "衣類");
      dict.Add("F", "靴");

      Console.WriteLine("OrderedDictionaryの要素...");
      foreach(DictionaryEntry d in dict) {
         Console.WriteLine(d.Key + " " + d.Value);
      }

      Console.WriteLine("OrderedDictionaryの要素数 = " + dict.Count);

      dict.Clear();

      Console.WriteLine("OrderedDictionaryの要素数(更新後)= " + dict.Count);
   }
}

出力結果

上記のコードを実行すると、次のような出力が得られます。

OrderedDictionaryの要素...
A 家電製品
B エレクトロニクス
C スマートウェアラブル
D ペット用品
E 衣類
F 靴
OrderedDictionaryの要素数 = 6
OrderedDictionaryの要素数(更新後)= 0

例2:Clearメソッドですべての要素を削除する

OrderedDictionaryからすべての要素を削除するコード例は次のとおりです。Clear()メソッドを呼び出すことで、コレクション内の全要素が一度に削除され、Countの値が0になります。

using System;
using System.Collections;
using System.Collections.Specialized;

public class Demo {
   public static void Main() {
      OrderedDictionary dict = new OrderedDictionary();
      dict.Add("A", "書籍");
      dict.Add("B", "エレクトロニクス");
      dict.Add("C", "スマートウェアラブル");
      dict.Add("D", "ペット用品");
      dict.Add("E", "衣類");
      dict.Add("F", "靴");

      Console.WriteLine("OrderedDictionaryの要素...");
      foreach(DictionaryEntry d in dict) {
         Console.WriteLine(d.Key + " " + d.Value);
      }

      Console.WriteLine("OrderedDictionaryの要素数 = " + dict.Count);

      dict.Clear();

      Console.WriteLine("OrderedDictionaryの要素数(更新後)= " + dict.Count);
   }
}

出力結果

上記のコードを実行すると、次のような出力が得られます。

OrderedDictionaryの要素...
A 書籍
B エレクトロニクス
C スマートウェアラブル
D ペット用品
E 衣類
F 靴
OrderedDictionaryの要素数 = 6
OrderedDictionaryの要素数(更新後)= 0
  1. C#のConsoleクラスとは?主要プロパティの使い方を実例付きで解説

    C#のConsoleクラスは、コンソールアプリケーションにおける標準入力・標準出力・標準エラー出力の各ストリームを表すクラスです。テキストの表示や入力の読み取りだけでなく、文字色や背景色の変更、カーソル位置やサイズの制御など、コンソール操作に関するさまざまな機能が提供されています。ここでは、Consoleクラスの代表的なプロパティの使い方を、サンプルコードと実行結果とあわせて解説します。Console.CursorLeftプロパティコンソール上のカーソル位置(左端から数えた列位置)を変更するには、Console.CursorLeftプロパティを使用します。サンプルコードusing System

  2. Pythonのオブジェクト指向プログラミング入門:クラス・インスタンス・カプセル化の基礎を解説

    Pythonは、誕生当初からオブジェクト指向プログラミング言語として設計されてきました。クラスとオブジェクトは、オブジェクト指向プログラミングにおける2つの主要な構成要素です。クラスは新しい型のオブジェクトを作り出すための設計図であり、そのクラスから生成された個々の実体が「インスタンス(オブジェクト)」と呼ばれます。それでは、最もシンプルなクラスを作成してみましょう。Pythonでクラスを定義するまず、空のクラスを定義してみます。# クラスを定義する class Vehicle(): pass # 空のブロック # オブジェクトのインスタンス化 v = Vehicle() prin