回答
。载
var resultset = from x in collection where new[] {2,3,4,5}.Contains(x) select x
当然,你简单的问题,你可以有这样的:
var resultset = from x in collection where x >= 2 && x <= 5 select x
我收到错误:'int []不包含contains的定义。 – nam 2017-08-14 04:04:57
的IEnumerable<T>.Contains(T)
语句应该做你要找的东西。
db.SomeTable.Where(x => new[] {2,3,4,5}.Contains(x));
或
from x in db.SomeTable
where new[] {2,3,4,5}.Contains(x)
与IEnumerable.Contains()执行SQL IN等效。
var idlist = new int[] { 2, 3, 4, 5 };
var result = from x in source
where idlist.Contains(x.Id)
select x;
一个使用。载有()
List<int> list = new List<int>();
for (int k = 1; k < 10; k++)
{
list.Add(k);
}
int[] conditionList = new int[]{2,3,4};
var a = (from test in list
where conditionList.Contains(test)
select test);
您可以通过将'for'循环更改为'IEnumerable
采取的点。 +1但公平起见,我只是写代码,我知道会工作,而无需测试它:) – Kamal 2010-02-25 14:05:04
你可以写求助方法非常简单的例子:
public bool Contains(int x, params int[] set) {
return set.Contains(x);
}
和使用短代码:
var resultset = from x in collection
where Contains(x, 2, 3, 4, 5)
select x;
相交除了更简洁一些,并且可能性更大你也会快一点。
IN
collection.Intersect(new[] {2,3,4,5});
NOT IN
collection.Except(new[] {2,3,4,5});
或
方法的语法在
collection.Where(x => new[] {2,3,4,5}.Contains(x));
,而不是在
collection.Where(x => !(new[] {2,3,4,5}.Contains(x)));
下面是一个可以用来值的列表中搜索值的通用扩展方法:
int i = 5;
i.In(45, 44, 5, 234); // Returns true
string s = "test";
s.In("aa", "b", "c"); // Returns false
这是有条件的方便:
public static bool In<T>(this T searchValue, params T[] valuesToSearch)
{
if (valuesToSearch == null)
return false;
for (int i = 0; i < valuesToSearch.Length; i++)
if (searchValue.Equals(valuesToSearch[i]))
return true;
return false;
}
这可以被用来作为声明。
- 1. 什么是underscore.js相当于LINQ的SelectMany运算符?
- 2. 什么是LINQ相当于SQL
- 3. 什么是Linq to SQL相当于CEILING?
- 4. Django 1.1相当于'in'运算符
- 5. Linq中的“IN”运算符
- 6. SQL中的IN运算符和=运算符有什么区别?
- 7. LINQ to Dataset - 相当于sql(where ... in ...)
- 8. 运算符模块中`in`的等效运算符是什么?
- 9. 什么是SQL Server的 'IN' 条款相当于
- 10. IN SQL运算符
- 11. 什么是此SQL的HQL相当于
- 12. 相当于SQL IN子句
- 13. 什么是C#相当于Java无符号右移运算符>>>
- 14. SQL IN运算符查询
- 15. 什么是XPath相当于SQL查询?
- 16. 熊猫:什么是相当于SQL组?
- 17. 什么是PostgreSQL相当于SQL Server NVARCHAR?
- 18. = IN运算符比IN运算符更高效T-SQL
- 19. Linq的“SELECT SYSTEM_USER”相当于什么
- 20. R中的%op%运算符的意思是什么?例如“%in%”
- 21. 运算符&&是什么?
- 22. XPath“in”运算符
- 23. linq(到nHibernate):'like in'运算符
- 24. Linq与Lambda相当于SQL
- 25. LINQ中的IN子句用IN运算符
- 26. 与MIN相当的LINQ是什么?
- 27. 为什么SQL NOT IN()运算符不工作?
- 28. Linq-To-SQL .ToList()运算符
- 29. 什么是 - >运算符?
- 30. 在Groovy中,成员运算符(“in”)的优先级是什么
[LINQ中的SQL查询](http://www.codeducky.org/sql-queries-in-linq/#where-in)提供了对LINQ的“WHERE IN”常用SQL操作的翻译。 – 2014-05-28 04:29:51