C# lambda删除集合中符合Predict的所有元素

C# lambda删除集合中符合Predict的所有元素,c#,collections,lambda,C#,Collections,Lambda,我不想根据预测表达式删除所有销售额 IQueryable<Sale> sales = entites.Sales.Where<Sale>(s => s.EmployeeId == check.EmployeeId); foreach (Sale sale in sales) entites.Sales.DeleteObject(sale); IQueryable sales=entites.sales.Where(s=>s.Empl

我不想根据预测表达式删除所有销售额

  IQueryable<Sale> sales = entites.Sales.Where<Sale>(s => s.EmployeeId == check.EmployeeId);
  foreach (Sale sale in sales)
            entites.Sales.DeleteObject(sale);
IQueryable sales=entites.sales.Where(s=>s.EmployeeId==check.EmployeeId);
foreach(销售中的销售)
实体。销售。删除对象(销售);
我正在寻找一个lambda,它可以在一行代码中实现这一点。 选择和删除。

讽刺版本:

IQueryable<Sale> sales = entites.Sales.Where<Sale>(s => s.EmployeeId == check.EmployeeId); foreach (Sale sale in sales) entites.Sales.DeleteObject(sale);
IQueryable sales=entites.sales.Where(s=>s.EmployeeId==check.EmployeeId);foreach(销售中销售)entites.sales.DeleteObject(销售);
另一个版本:

var sales = entites.Sales.Where<Sale>(s => s.EmployeeId == check.EmployeeId).ToList().ForEach(entites.Sales.DeleteObject);
var sales=entites.sales.Where(s=>s.EmployeeId==check.EmployeeId.ToList().ForEach(entites.sales.DeleteObject);
讽刺版:

IQueryable<Sale> sales = entites.Sales.Where<Sale>(s => s.EmployeeId == check.EmployeeId); foreach (Sale sale in sales) entites.Sales.DeleteObject(sale);
IQueryable sales=entites.sales.Where(s=>s.EmployeeId==check.EmployeeId);foreach(销售中销售)entites.sales.DeleteObject(销售);
另一个版本:

var sales = entites.Sales.Where<Sale>(s => s.EmployeeId == check.EmployeeId).ToList().ForEach(entites.Sales.DeleteObject);
var sales=entites.sales.Where(s=>s.EmployeeId==check.EmployeeId.ToList().ForEach(entites.sales.DeleteObject);

我认为System.Linq.Enumerable中没有ForEach的内置扩展方法。不过,您可以轻松创建自己的:

public static IEnumerable<T> ForEach<T>(this IEnumerable<T> sequence, Action<T> action)
{
    foreach (T element in sequence)
    {
        action(element);
        yield return element;
    }
}
公共静态IEnumerable ForEach(此IEnumerable序列,动作)
{
foreach(序列中的T元素)
{
行动(要素);
收益-收益要素;
}
}

我认为System.Linq.Enumerable中没有ForEach的内置扩展方法。不过,您可以轻松创建自己的:

public static IEnumerable<T> ForEach<T>(this IEnumerable<T> sequence, Action<T> action)
{
    foreach (T element in sequence)
    {
        action(element);
        yield return element;
    }
}
公共静态IEnumerable ForEach(此IEnumerable序列,动作)
{
foreach(序列中的T元素)
{
行动(要素);
收益-收益要素;
}
}

List类中有一个。你看看这个!我不知道。谢谢我一直想知道为什么ForEach不包括在System.Linq.Enumerable中。这是一个相当大的争论。一些关于副作用的胡言乱语。我不同意。我的同事和员工也是如此。我们的版本在这里:列表类中有。你看看这个!我不知道。谢谢我一直想知道为什么ForEach不包括在System.Linq.Enumerable中。这是一个相当大的争论。一些关于副作用的胡言乱语。我不同意。我的同事和员工也是如此。我们的版本在这里:是的,在这一点上看起来有点可笑,但这仍然是一个很好的实践。。。但是谁得到了V?Ritch或John…是的,这看起来有点可笑,但这仍然是一个很好的练习。。。但是谁得到了V?里奇或约翰。。