c# - Linq 在 if 语句后选择项目

标签 c# linq

我有一个列表,我想将其分解为另一个列表。

因此当 if 语句正确时,必须将当前项添加到新列表

var newList = oldList.ForEach( x =>
{
    if (condition)
    {
        // select the current item 
    }
})

select the current item部分为题

最佳答案

使用Where :

var newList = oldList.Where(x => condition(x));

在此版本中,newList 将是一个带有 lazy 的对象评估。为了使结果具体化,您还可以立即对其进行评估:

var newList = oldList.Where(x => condition(x)).ToList();

关于c# - Linq 在 if 语句后选择项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18915318/

相关文章:

c# - 在 Foreach 中创建和启动任务

c# - DateTime.Parse 在解析字符串时抛出异常

c# - 表达式转换错误 - 类型之间没有定义强制运算符

c# - Linq 在创建选择之前进行检查

linq - 修补 RavenDB 文档 - LINQ 查询中使用的多个条件

c# - 'System.Memory'已经具有为'System.Runtime.CompilerServices.Unsafe'定义的依赖项

c# - 重新启动对话状态以测试主动消息

c# - 是否有任何由子线程对象自动继承的可编程数据?

c# - 无法将类型 'System.Linq.IQueryable' 隐式转换为 'System.Collections.Generic.IList'

c# - 使用 Linq 表达式在通用存储库中实现搜索