2014-10-28 46 views
0

請有人協助。VB.Net Lambda Expression

我想過濾基於另一個列表的項目列表。

我有一個電子設備模型列表。

我有和添加功能,它允許用戶添加模型到列表中。

在Add函數中,我有一個組合框,其中包含我的數據庫中所有可能的模型。

我希望能夠過濾組合框中的項目,以確保用戶無法選擇已經在列表中的模型。

我以爲我可以做到這一點作爲一個Lambda表達式,但它似乎沒有一個NOT IN函數可用?

+1

我想你正在尋找[Enumerable.Except方法](http://msdn.microsoft.com/en-us/library/vstudio/system.linq.enumerable.except%28v=vs。 100%29.aspx)。 – 2014-10-28 11:23:23

+0

除了方法是否可以用於課程的某個特定元素,還是僅用於精確匹配?在我的情況下,我想只能比較ModelID,因爲模型的其他元素可能已經改變。 – 2014-10-28 11:28:39

回答

1

您是否嘗試過使用Except方法?

通過使用默認的相等比較器來比較值,生成兩個序列的設置差異。

+0

除了方法是否可以在課程的某個特定元素上使用,還是僅僅是完全匹配?在我的情況下,我想只能比較ModelID,因爲模型的其他元素可能已經改變。 – 2014-10-28 11:29:34

+0

@Richard在文檔中可讀,它使用標準的相等比較器。我不確定你是否可以在VB.NET中重寫這個。 – 2014-10-28 11:31:20

+0

好的,原則上它做我想要的,我會編輯我如何更新我的模型,以便能夠實現完全匹配。非常感謝。 – 2014-10-28 11:38:31