看板 C_Sharp 關於我們 聯絡資訊
假設我有個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://www.ptt.cc/bbs/C_Sharp/M.1425654406.A.976.html
J002: 用Dictionary.ContainsKey(Key) 03/06 23:14
J002: 您文中的範例來說 就是dict.ContainsKey("apple") == true 03/06 23:15
J002: dict.ContainsKey("orange") = false 上面多打一個=...0rz 03/06 23:15
don750421: 感謝樓上回覆,假設陣列有10筆,只能用迴圈跑嗎? 03/06 23:23
don750421: 有沒有辦法直接用dic的key去Match陣列? 03/06 23:24
Litfal: 把陣列串成一句,然後用Regex呢? 03/06 23:26
J002: var arrayKeys = dict.Keys; 03/06 23:45
J002: var boolResult = 03/06 23:45
J002: patten.Intersect(arrayKeys).Count() == patten.Length; 03/06 23:46
J002: boolResult 為false應該就是您要的結果? 03/06 23:46
J002: 忽然發現漏了 "Key所對應的值為空" XD 小弟直接重回一篇… 03/06 23:53