2013-01-24 37 views
1

devs。有下一個快速的問題。lambda中的SQL'IN'運算符

這是關於良好的做法。

ListA.Where(x => (x.Name == "James Bond") || (x.Number == "007" || x.Number == "7")); 

進出口尋找詹姆斯·邦德或代理與007號或7

//一些有趣的

那麼,在這個例子中我只是在2號尋找。 有沒有什麼辦法可以在SQL中使用類似於IN運算符的lambda表達式?

string[] nums = {"007","7"}; 
ListA.Where(x => (x.Name == "James Bond") || (x.Number.Contains(nums)); 
+6

只是交換的最後條款,即。 nums.Contains(x.Number)。 – bobblez

+0

@bobblez - 將其作爲答案發布並獲得積分) – MikroDel

+0

bobblez是第一個將其作爲評論發佈的人,其他用戶將其複製並粘貼爲答案。不公平! ) – MikroDel

回答

7
string[] nums = {"007","7"}; 
ListA.Where(x => (x.Name == "James Bond") || (nums.Contains(x.Number)); 
4
ListA.Where(x => (x.Name == "James Bond") || nums.Contains(x.Number)); 
2

試試這個

ListA.Where(x => (x.Name.Equals("James Bond")) || nums.Contains(x.Number)); 
1
string[] nums = {"007","7"};//Array of numbers to be checked 

ListA.Where(x => (x.Name == "James Bond") || (nums.Contains(x.Number);