[解決済み】IEnumerable<KeyValuePair<>>からDictionaryを再作成する。
2022-04-14 05:26:06
質問
を返すメソッドがあります。
IEnumerable<KeyValuePair<string, ArrayList>>
しかし、呼び出し元の中には、メソッドの結果を辞書にすることを要求するものがあります。どうすれば
IEnumerable<KeyValuePair<string, ArrayList>>
を
Dictionary<string, ArrayList>
を使えるように
TryGetValue
?
メソッドを使用します。
public IEnumerable<KeyValuePair<string, ArrayList>> GetComponents()
{
// ...
yield return new KeyValuePair<string, ArrayList>(t.Name, controlInformation);
}
の呼び出し元となります。
Dictionary<string, ArrayList> actual = target.GetComponents();
actual.ContainsKey("something");
解決方法は?
.NET 3.5または.NET 4を使用している場合、LINQを使用して簡単に辞書を作成することができます。
Dictionary<string, ArrayList> result = target.GetComponents()
.ToDictionary(x => x.Key, x => x.Value);
というものはありません。
IEnumerable<T1, T2>
でなく
KeyValuePair<TKey, TValue>
は大丈夫です。
関連
-
[解決済み】ファイルへの読み書きの際に共有違反のIOExceptionが発生する C#
-
[解決済み] 辞書を値で並べ替えるにはどうしたらいいですか?
-
[解決済み] Pythonで辞書に新しいキーを追加するにはどうすればよいですか?
-
[解決済み] 与えられたキーがすでに辞書に存在するかどうかをチェックする
-
[解決済み] Pythonの辞書からキーを削除するにはどうしたらいいですか?
-
[解決済み] 辞書のリストを辞書の値でソートするにはどうしたらいいですか?
-
[解決済み] 辞書から要素を削除する
-
[解決済み] なぜList<T>を継承しないのですか?
-
[解決済み] IEnumerable<T> と IQueryable<T> を比較する。
-
[解決済み】2つの辞書を1つの式でマージする(辞書の和をとる)には?)
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
解決済み] Critical error detected c0000374 - C++ dll returns pointer off allocated memory to C# [解決済み] Critical error detected c0000374 - C++ dll returns pointer off allocated memory to C#.
-
[解決済み】C#はJavaのcharAt()と同等?)
-
[解決済み】バックスラッシュを含むパス文字列のエスケープシーケンスが認識されない件
-
[解決済み】リソースの読み込みに失敗した:ステータス500(内部サーバーエラー)のサーバーの応答)
-
[解決済み】WPFでXamlファイルにコメントを追加する方法は?
-
[解決済み] EntityTypeにキーが定義されていないエラー
-
[解決済み】Visual Studio: 操作を完了できませんでした。パラメータが正しくありません
-
[解決済み】OnCollisionEnter2Dが実行されない?
-
[解決済み】Linq 構文 - 複数列の選択
-
[解決済み】Unityでゲームオブジェクトのすべての子をループスルーして破壊する方法?