[問題] 如何判斷Dictionary的key/value ?

作者: don750421 (1+1≠2)   2015-03-06 23:06:43
假設我有個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?)
謝謝
作者: J002 (阿里山 我來了XD~)   2015-03-06 23:14:00
用Dictionary.ContainsKey(Key)您文中的範例來說 就是dict.ContainsKey("apple") == truedict.ContainsKey("orange") = false 上面多打一個=...0rz
作者: don750421 (1+1≠2)   2015-03-06 23:23:00
感謝樓上回覆,假設陣列有10筆,只能用迴圈跑嗎?有沒有辦法直接用dic的key去Match陣列?
作者: Litfal (Litfal)   2015-03-06 23:26:00
把陣列串成一句,然後用Regex呢?
作者: J002 (阿里山 我來了XD~)   2015-03-06 23:45:00
var arrayKeys = dict.Keys;var boolResult =patten.Intersect(arrayKeys).Count() == patten.Length;boolResult 為false應該就是您要的結果?忽然發現漏了 "Key所對應的值為空" XD 小弟直接重回一篇…

Links booklink

Contact Us: admin [ a t ] ucptt.com