我想使用 LINQ WHERE 函式和 lambda 從集合中選擇第一個元素,但某些元素沒有受控鍵(只有其中一個有它) - 所以我收到 KeyNotFoundException 錯誤... ;-/ 查看集合結構體
有什么辦法可以解決嗎?
views.First(Function(x) x("DefaultView").ToString = "TRUE")
...引發了“System.Collections.Generic.KeyNotFoundException”型別的例外
謝謝。#JK
uj5u.com熱心網友回復:
你應該能夠做到
views.FirstOrDefault(Function(x As Dictionary(Of String, Object))
Return x.ContainsKey("DefaultView") AndAlso x("DefaultView").ToString() = "TRUE"
End Function)
ContainsKey確保 Key 存在于 Dictionary 中。
AndAlso如果 ContainsKey 回傳 true 將只檢查第二個條件
x("DefaultView")將不再出錯,因為我們知道它存在
uj5u.com熱心網友回復:
避免在字典中重復查找。
views.FirstOrDefault(Function(x)
Dim value
Return x.TryGetValue("DefaultView", value) AndAlso value.ToString() = "TRUE"
End Function)
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/434888.html
標籤:VB.net 林克 例外 视觉工作室 2019 .net-framework-4.8
下一篇:執行此排序操作的正確方法是什么?
