2013-01-24 36 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);