2016-04-25 60 views
0

我有一個多個值3,5,10的列表。Concat LINQ到對象或運行時LINQKIT查詢

現在我想在Or運算符的運行時創建一個linq .where過濾器。

我該如何使用LINQKit來做到這一點?或者用簡單的linq,但我不認爲它是可能的。

E.g.這將是一個硬編碼版本:

var filter = mydata.Where(v => v.state == "3" || v.state == "5" || v.state == "10"); 

這將動態地過濾mydata數組。

但我不希望它被硬編碼!

+0

嘗試'如果(V => list.Contains(v.state))'。 –

+0

地獄......我覺得複雜...謝謝。 – HelloWorld

回答

2

你可以簡單的使用方法Contains像這樣:

var filter = mydata.Where(v => list.Contains(v.state));