作者don750421 (1+1≠2)
看板C_Sharp
標題[問題] 如何判斷Dictionary的key/value ?
時間Fri Mar 6 23:06:43 2015
假設我有個Dictionary如下
Dictionary<string, sring> dict = new Dictionary<string, string>();
dict.Add("apple", "30");
dict.Add("banana", "50");
dict.Add("grape", "100");
假設我有個Patten 陣列,裡面裝的都是代表"一定"要出現的值
string[] Patten = new string[]{"apple","orange"};
因此
我要怎麼判斷,Patten是否有完全出現在Dictionary中呢?
如果Dictionary沒有包含Patten的Key值及Key所對應的值為空則出現錯誤
除了用迴圈外,還有其他方式嗎?(LINQ?Lamdba?)
謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.142.129.39
※ 文章網址: https://webptt.com/m.aspx?n=bbs/C_Sharp/M.1425654406.A.976.html
1F:推 J002: 用Dictionary.ContainsKey(Key) 03/06 23:14
2F:→ J002: 您文中的範例來說 就是dict.ContainsKey("apple") == true 03/06 23:15
3F:→ J002: dict.ContainsKey("orange") = false 上面多打一個=...0rz 03/06 23:15
4F:→ don750421: 感謝樓上回覆,假設陣列有10筆,只能用迴圈跑嗎? 03/06 23:23
5F:→ don750421: 有沒有辦法直接用dic的key去Match陣列? 03/06 23:24
6F:推 Litfal: 把陣列串成一句,然後用Regex呢? 03/06 23:26
7F:推 J002: var arrayKeys = dict.Keys; 03/06 23:45
8F:→ J002: var boolResult = 03/06 23:45
9F:→ J002: patten.Intersect(arrayKeys).Count() == patten.Length; 03/06 23:46
10F:→ J002: boolResult 為false應該就是您要的結果? 03/06 23:46
11F:→ J002: 忽然發現漏了 "Key所對應的值為空" XD 小弟直接重回一篇… 03/06 23:53