C#でListDictionaryを作成する方法!基本操作をサンプルコード付きで解説
ListDictionaryとは?
ListDictionaryは、System.Collections.Specialized名前空間に属するコレクションクラスで、キーと値のペアを単方向リンクリストの形式で格納します。内部的にハッシュテーブルを持たないため、要素数が少ないコレクション(目安は10項目程度まで)では高速に動作し、小規模なデータ管理に適しています。
この記事では、C#でListDictionaryを作成し、基本的な操作を行う方法をサンプルコードと実行結果とともに解説します。
例1:ListDictionaryの作成と基本プロパティの確認
次のコードでは、ListDictionaryを作成して要素を追加し、各種プロパティやContainsメソッドの動作を確認しています。
using System;
using System.Collections;
using System.Collections.Specialized;
public class Demo {
public static void Main() {
ListDictionary dict = new ListDictionary();
dict.Add("1", "SUV");
dict.Add("2", "セダン");
dict.Add("3", "多目的車");
dict.Add("4", "コンパクトカー");
dict.Add("5", "SUV");
dict.Add("6", "セダン");
dict.Add("7", "多目的車");
dict.Add("8", "コンパクトカー");
dict.Add("9", "クロスオーバー");
dict.Add("10", "電気自動車");
Console.WriteLine("ListDictionaryの要素一覧...");
foreach(DictionaryEntry d in dict) {
Console.WriteLine(d.Key + " " + d.Value);
}
Console.WriteLine("\nListDictionaryは固定サイズか? = " + dict.IsFixedSize);
Console.WriteLine("ListDictionaryは読み取り専用か? = " + dict.IsReadOnly);
Console.WriteLine("ListDictionaryは同期されているか? = " + dict.IsSynchronized);
Console.WriteLine("キー「K」は存在するか? = " + dict.Contains("K"));
Console.WriteLine("キー「9」は存在するか? = " + dict.Contains("9"));
}
}
実行結果
ListDictionaryの要素一覧... 1 SUV 2 セダン 3 多目的車 4 コンパクトカー 5 SUV 6 セダン 7 多目的車 8 コンパクトカー 9 クロスオーバー 10 電気自動車 ListDictionaryは固定サイズか? = False ListDictionaryは読み取り専用か? = False ListDictionaryは同期されているか? = False キー「K」は存在するか? = False キー「9」は存在するか? = True
コードの解説
- Addメソッド:キーと値のペアをListDictionaryに追加します。
- foreach + DictionaryEntry:格納されたすべてのキーと値を順番に取り出して表示します。
- IsFixedSize / IsReadOnly / IsSynchronized:それぞれ「固定サイズか」「読み取り専用か」「スレッドセーフ(同期済み)か」をbool値で返すプロパティです。
- Containsメソッド:引数に指定したキーが存在するかどうかを判定します。「9」は登録済みのためTrue、「K」は未登録のためFalseとなります。
例2:複数のListDictionaryを操作する
続いて、複数のListDictionaryを作成し、参照の代入・等価比較・Clearメソッドによる全要素削除を確認する例を見てみましょう。
using System;
using System.Collections;
using System.Collections.Specialized;
public class Demo {
public static void Main() {
ListDictionary dict1 = new ListDictionary();
dict1.Add("A", "書籍");
dict1.Add("B", "家電");
dict1.Add("C", "ウェアラブル端末");
dict1.Add("D", "ペット用品");
dict1.Add("E", "衣類");
dict1.Add("F", "靴");
Console.WriteLine("ListDictionary1の要素一覧...");
foreach(DictionaryEntry d in dict1) {
Console.WriteLine(d.Key + " " + d.Value);
}
ListDictionary dict2 = new ListDictionary();
dict2.Add("1", "一");
dict2.Add("2", "二");
dict2.Add("3", "三");
dict2.Add("4", "四");
dict2.Add("5", "五");
dict2.Add("6", "六");
Console.WriteLine("\nListDictionary2の要素一覧...");
foreach(DictionaryEntry d in dict2) {
Console.WriteLine(d.Key + " " + d.Value);
}
Console.WriteLine("Dictionary2のキー/値ペアの数 = " + dict2.Count);
ListDictionary dict3 = new ListDictionary();
dict3 = dict2; // dict2への参照を代入
Console.WriteLine("\nListDictionary3はListDictionary2と等しいか? = " + (dict3.Equals(dict2)));
dict3.Clear();
Console.WriteLine("Dictionary3のキー/値ペアの数 = " + dict3.Count);
}
}
実行結果
ListDictionary1の要素一覧... A 書籍 B 家電 C ウェアラブル端末 D ペット用品 E 衣類 F 靴 ListDictionary2の要素一覧... 1 一 2 二 3 三 4 四 5 五 6 六 Dictionary2のキー/値ペアの数 = 6 ListDictionary3はListDictionary2と等しいか? = True Dictionary3のキー/値ペアの数 = 0
コードの解説
- Countプロパティ:ListDictionaryに格納されているキーと値のペアの数を取得します。
- Equalsメソッド:「dict3 = dict2」は新しいコピーではなくdict2への参照を代入しているだけなので、両者は同じオブジェクトを指し、比較結果はTrueになります。
- Clearメソッド:すべての要素を削除します。dict3とdict2が同一インスタンスを共有しているため、dict3.Clear()を実行するとdict2の内容も空になる点に注意してください。
まとめ
ListDictionaryは、少数のキーと値のペアを扱うのに適した軽量なコレクションです。要素の追加(Add)、検索(Contains)、件数取得(Count)、全削除(Clear)といった基本操作を押さえておけば、小規模データの管理をシンプルに行えます。要素数が多くなる場合は、パフォーマンス面で有利なHashtableやDictionary<TKey, TValue>の利用を検討するとよいでしょう。
-
Outlookカレンダーに祝日を追加・削除する方法【保存・印刷の手順も解説】
今年の祝日がいつになるのか気になったことはありませんか?そんなときは、Outlookカレンダーをチェックしてみましょう。最新バージョンのOutlookでは、祝日や大切な予定の日付をカレンダーに簡単に追加できます。新旧すべてのバージョンのOutlookには、多くの国や宗教の祝日データが用意されており、自由に追加することが可能です。 本記事では、Microsoft Outlookで祝日カレンダーを追加・削除する方法をチュートリアル形式でわかりやすく解説します。祝日カレンダーには世界中の主要な祝日やイベントが表示されるため、休暇や外出、重要なイベント、パーティーなどの計画を立てるのに大変役立ちます。
-
Apple IDの作成方法を完全解説|子ども用アカウントや2ファクタ認証の設定まで
Apple製品やサービスを使いこなすうえで、Apple IDは欠かせない存在です。幸い、その作成はとても簡単。この記事では、自分用・お子様用のApple IDの作り方から、強固なセキュリティ設定、ファミリー共有グループの始め方まで、わかりやすく解説します。 Apple IDを作成する手順 Apple IDは、Apple公式サイトのApple IDページ(appleid.apple.com)にアクセスし、「Apple IDを作成」をクリックするだけで登録できます。 appleid.apple.com は、Apple IDの作成と管理を行うためのオンライン窓口です Apple IDの登録にあたっ