LINQというものを使うと処理速度が上がるか下がるか試してみたかったのですが、
以下のforeachをLINQに置き換えようとしてWhereの次でいきなり困りました。
LINQの記事を見るとListばかりでDictionaryを見かけないのですが、Dictionaryで使うことはできますか?
c#
1 /** 2 * キーから要素を取得 3 */ 4 public static Dictionary<string, object> getElementByName( 5 Dictionary<string, Dictionary<string, object>> parentDictionary, string key, string value) { 6 7 // foreachを使う 8 foreach (KeyValuePair<string, Dictionary<string, object>> kvp in parentDictionary) { 9 if (kvp.Value[key].Equals(value)) { 10 return kvp.Value; 11 } 12 } 13 14 // LINQを使う TODO 15 // Dictionary<string, object> ret = parentDictionary.Where( // itemやvalueを入れるとコンパイルエラー 16 // return ret; 17 18 return null; 19 }
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/05/08 02:15
2018/05/08 02:17
2018/05/08 02:31