我想通過字典鍵和值使用LINQ查詢字典的列表。以下給我的錯誤「無法轉換keyvaluepair鍵入布爾。」 在此先感謝。查詢字典的列表C#Linq
var list = new List<Dictionary<string, object>>();
foreach (DataRow row in wordCloud.Rows)
{
var dict = new Dictionary<string, object>();
foreach (DataColumn col in wordCloud.Columns)
{
dict[col.ColumnName] = row[col];
}
list.Add(dict);
}
if (!string.IsNullOrWhiteSpace(text))
{
var item = list.Where(dict => dict.Where(x => x.Key == "word" && x.Value == text)).FirstOrDefault();
}
感謝這就是我使用的。
var item = list.Where(dict => dict["WORD"].Equals(text)).FirstOrDefault();
。哪裏需要一個表達式可以評估bool值。嘗試使用list.Select – Guanxi
'dict.Where(x => x.Key ==「word」&& x.Value == text)'從字典中返回一組keyvaluepairs。所以你要求「給我從列表中收集字典條目的項目」。英語也沒有意義。 – Blorgbeard
'dict.Where(x => x.Key ==「word」&& x.Value == text)' - 這是完全以錯誤的方式使用字典。使用該密鑰的字典中不會有一個以上的項目。不要循環,直接去找它。如果您不確定存在該項的項目,請先使用ContainsKey進行檢查。不要強迫自己使用Linq,如果這樣做沒有意義。 –