C# で辞書をリストコレクションに変換する
C# では、System.Linq
拡張機能の一部として ToList()
メソッドを使用して、辞書をリストに変換できます。辞書の戻りタイプが KeyCollection
であるため、辞書を直接 List<string>
に変換することはできません。
リストは ArrayList に似ていますが、唯一の違いは、リストが汎用であり、固有のプロパティを持っていることです。
このチュートリアルでは、C# で辞書をリストコレクションに変換する方法を説明します。
C#
で ToList()
メソッドを使用して辞書をリストコレクションに変換する
C# のディクショナリは、2つの引数を受け入れます。最初の引数はキーで、2 番目の引数は値です。ディクショナリは、さまざまなデータとその値をリストに追加するときに役立ちます。
ディクショナリ値をリストコレクションに変換するために、組み込みの ToList()
メソッドによってこの汎用リストを変換できます。リストと辞書はどちらもデータコレクションを格納しており、類似しています。どちらも .NET
フレームワークのランダムアクセスデータ構造です。
辞書は、物事を検索するための効率的なアルゴリズムであるハッシュテーブルに基づいています。一方、リストは、最初から結果まで毎回結果が見つかるまで、要素ごとに移動します。
System.Collections.Generic
および System.Linq
名前空間を使用して、C# で辞書をリストコレクションに変換するのは簡単です。辞書コレクションで ToList()
を呼び出し、KeyValuePair
インスタンスのリストを生成します。
// add `System.Collections.Generic` and `System.Linq` namespaces
using System;
using System.Collections.Generic;
using System.Linq;
class ConDtoLCol {
static void Main() {
// create a Dictionary
Dictionary<string, int> dict = new Dictionary<string, int>();
dict["cat"] = 1;
dict["dog"] = 4;
dict["mouse"] = 2;
dict["rabbit"] = -1;
// call ToList to convert the `dict` Dictionary to List
List<KeyValuePair<string, int>> list = dict.ToList();
// loop over List to show successful conversion
foreach (KeyValuePair<string, int> pair in list) {
Console.WriteLine(pair.Key);
Console.WriteLine(" {0}", pair.Value);
}
}
}
出力:
cat
1
dog
4
mouse
2
rabbit
-1
辞書のキーを C# のリストコレクションに変換する場合は、次を使用できます。
List<string> listNumber = dicNumber.Keys.ToList();
さらに、辞書の値を C# のリストコレクションに変換するには、次を使用できます。
List<string> listNumber = dicNumber.Values.ToList();
.NET
フレームワークディクショナリは、キーと値のコレクションを表します。ディクショナリキーの主な目的は、ユーザーがディクショナリ値の汎用リスト(コレクション)を取得できるようにすることです。
さらに、values
プロパティを使用して、ディクショナリ値の一般的なリストを取得できます。この記事では、辞書のキーと値を C# のリストに変換する最も効率的な方法を学びました。
Hassan is a Software Engineer with a well-developed set of programming skills. He uses his knowledge and writing capabilities to produce interesting-to-read technical articles.
GitHub関連記事 - Csharp Dictionary
- C# の辞書を反復する最良の方法
- C# でリストを辞書に変換する
- C# で辞書をキーで並べ替える
- C# での辞書とハッシュテーブル
- C# で辞書キーが存在するかどうかを確認する
- C# で辞書を JSON 文字列に変換する