c# - 如何使用 LINQ 选择*某些*项目?

标签 c# .net linq

如何在 LINQ 中编写此函数?

public List<TResult> select(List<string> source)
{
    List<TResult> result = new List<TResult>();
    foreach (var a in source)
    {
        try { result.Add(TResult.Parse(a)); }
        catch { }
    }
    return result;
}

我只想选择可转换为 TResult 的项目。 TResult.Parse() 返回 TResult 的新实例。

最佳答案

您不仅可以将 lambda 表达式传递给 LINQ 方法,还可以将语句传递给 LINQ 方法:

var results = source.Select(item => 
  {
    try
    { 
      return TResult.Parse(item);
    }
    catch
    { return null; }
  }).Where(result => result != null).ToList();

关于c# - 如何使用 LINQ 选择*某些*项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5511603/

相关文章:

c# - Entity Framework 6 添加/更新 - 编辑时出错并尝试将编辑的实体添加为新实体

c# - 如何在调用 .LoadXml() 之前检查字符串输入中的有效 xml

c# - 使用 linq 进行分组

c# - 如何从 DataTable 向 Excel 添加其他工作表

c# - LINQ 查询以从多个列表中按条件过滤项目

c# - 如何使用 Entity Framework 将现有实体添加为新实体

c# - linq 将 2 个表合并为一个列表

c# - 当不同类型的列表的属性值相等时,从列表中排除的 Linq 查询?

linq - 创建返回时LINQ是否会增加内存

c# - 如何判断 JSON 对象是否为数组?