下面的这个代码片段检查eCode
(整数)是否等于list1<int>
中的任何元素,如果是,它就会做一些事情。我的问题如下..LINQ 的实现是什么?我是 C# 和 Linq 的新手,不知道如何继续。
for (int i = 0; i < list1.Count; i++)
{
if (list1[i] == eCode)
{
// do something
}
}
您可以保留循环,但将条件语句转换为 LINQ Where
子句:
foreach (var item in list1.Where(l => l == eCode))
{
// Do something with each item
}
这实际上与斯蒂芬肯尼迪的答案相同,但我有时喜欢这种语法。通常用于更复杂的事情,但仍然:
foreach (var item in from l in list1
where l == eCode
select l)
{
// Do something with each item
}
我认为下面的代码片段就是您要找的:
List<int> i = new List<int>() { 1, 2, 3 };
int eCode = 3;
bool result = i.Any(x => x == eCode);
这是使用 LINQ 扩展方法,而不是实际的 LINQ。
if (list1.Any(i => i == eCode))
{
// do something
}