C#辞書でのLINQ選択
C#で次の辞書を持っています。
Dictionary<string, object> subDictioanry = new Dictionary<string, object>();
List<Dictionary<string, string>> subList = new List<Dictionary<string, string>>();
subList.Add(new Dictionary<string, string>(){
{"valueLink", "link1"},
{"valueTitle","title1"}
});
subList.Add(new Dictionary<string, string>(){
{"valueLink", "link2"},
{"valueTitle","title2"}
});
subList.Add(new Dictionary<string, string>(){
{"valueLink", "link3"},
{"valueTitle","title3"}
});
subDictioanry.Add("title", "title");
subDictioanry.Add("name", "name");
subDictioanry.Add("fieldname1", subList);
Dictionary<string, object> exitDictionary = new Dictionary<string, object>();
exitDictionary.Add("first", subDictioanry);
exitDictionary.Add("second", subDictioanry);
LINQ selectの助けを借りて、すべての"valueTitle"を取得することは可能ですか?
UPDATE: 申し訳ありませんが、最初に書くべきでした。subListからではなくexitDictionaryから結果を取得する必要があります。
24
3
fieldname1`の値で検索している場合は、次のようにしてみてください。
subDictionary
の値の型(
Dictionary` を明示的に)で検索する場合は、次のようにします。どちらの選択肢も返ってきます。
一つの方法は、まず
SelectMany
でリストをフラットにすることです。これは、キー
valueTitle
にマッチするすべての値を返します。