C#のDictionary(辞書)と配列の違いとは?特徴と使い方をわかりやすく解説
C#には複数のデータをまとめて扱うためのコレクションが用意されていますが、その中でもよく使われるのが「Dictionary(辞書)」と「配列(Array)」です。どちらもデータを格納する仕組みですが、構造や用途、アクセス方法に大きな違いがあります。本記事では、それぞれの特徴と基本的な使い方をコード例とともに解説します。
Dictionary(辞書)とは
Dictionaryは、キー(Key)と値(Value)のペアでデータを管理するコレクションです。System.Collections.Generic名前空間に含まれており、キーを指定することで高速に対応する値へアクセスできます。キーは重複できない点にも注意しましょう。
Dictionaryの宣言方法
IDictionary<int, int> d = new Dictionary<int, int>();
この例では、キーと値の両方がint型のDictionaryを作成しています。ジェネリクスを使うことで、型安全なコレクションを実現できます。
Dictionaryへの要素の追加
IDictionary<int, int> d = new Dictionary<int, int>(); d.Add(1, 97); d.Add(2, 89); d.Add(3, 77); d.Add(4, 88);
Addメソッドを使うことで、キーと値のペアを順次追加できます。追加後は、d[1]のようにキーを指定して値を取得することが可能です。
配列(Array)とは
配列は、同じ型の要素を固定サイズで連続的に格納するデータ構造です。メモリ上では連続した領域に配置され、先頭の要素が最も低いアドレスに、末尾の要素が最も高いアドレスに対応します。インデックス(0から始まる番号)を使って各要素に直接アクセスできるのが大きな特徴です。
配列の定義方法
int[] arr = new int[5];
この例では、int型の要素を5つ格納できる配列を宣言しています。宣言時点では各要素は既定値(intの場合は0)で初期化されます。
配列の初期化と要素の設定
int[] arr = new int[10] {3, 5, 35, 87, 56, 99, 44, 36, 78};
波括弧 { } を使うことで、宣言と同時に初期値を設定できます。なお、この例ではサイズを10と指定していますが、初期化子の要素数が9つのため注意が必要です。要素数に合わせて以下のように書くのが一般的です。
int[] arr = new int[9] {3, 5, 35, 87, 56, 99, 44, 36, 78};
// または、サイズ指定を省略
int[] arr = {3, 5, 35, 87, 56, 99, 44, 36, 78};
Dictionaryと配列の主な違い
| 項目 | Dictionary | 配列(Array) |
|---|---|---|
| データ構造 | キーと値のペア | 同じ型の要素の連続配置 |
| サイズ | 動的に変更可能 | 固定サイズ |
| アクセス方法 | キーを指定してアクセス | インデックス(0始まり)でアクセス |
| 検索速度 | キーによる高速な検索が可能 | 線形探索が必要な場合あり |
| 適した用途 | IDとデータの紐付け、検索が多い処理 | 順序付きの固定データ、繰り返し処理 |
まとめ
Dictionaryは「キーで素早く値を取り出したい場合」に、配列は「決まった数のデータを順序どおり扱いたい場合」に適しています。用途に応じて使い分けることで、より効率的で読みやすいC#プログラムを書くことができます。
-
Wi-Fi 6と5Gの違いとは?特徴・速度・使い分けを徹底解説
5Gネットワークは、SNSなどでも頻繁に話題になる注目の技術です。同様に、Wi-Fi 6への期待も高まっていますが、これは5Gとはまったく異なる技術です。本記事では、Wi-Fi 6と5Gネットワークの違いをわかりやすく解説します。 Wi-Fi 6とは? Wi-Fi 6は、IEEE 802.11ax規格に基づく新しい認証プログラムです。従来のWi-Fi技術と異なる最大の特徴は、より遠い距離でも高速な接続を実現できる点にあります。複数のデバイスが同時に接続されていても安定したパフォーマンスを発揮し、電源環境に多少の問題があっても性能が低下しにくいという優れた特性を持っています。 Wi-Fi 6は
-
Windows 10とWindows 11の違いを徹底比較!アップグレードすべきか判断するポイント
Microsoft(マイクロソフト)は、数々の新機能と改善点を盛り込んだ最新OS「Windows 11」をリリースしました。一方で、これまで数多くのパッチやアップデートが適用されてきたWindows 10は、新しいWindows 11よりも安定したOSと言えます。Microsoftによると、Windows 10のサポートは2025年以降に終了する予定のため、Windows 11へアップグレードするか、Windows 10を使い続けるかを検討する時間は十分にあります。この記事では、Windows 10とWindows 11の性能・機能・改善点を比較し、新しいOSへ移行すべきか、それともWindo