作者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/cn.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