c# - 将 LINQ 转换为 .NET 2.0

标签 c# linq c#-2.0

我应该如何在 .NET 2.0 中使用它...?

[DataObjectMethod(DataObjectMethodType.Select)]
public IEnumerable<OperatorField> FindByType(String type)
{
    //  return only selected type
    return (from ce in this.OperatorFields where ce.Type == type select ce).ToList();
}

我在 3.5 项目中使用它,但现在我正在向我无法(此时)升级到 3.5 的旧项目添加新功能。


我刚刚这样做了:

[DataObjectMethod(DataObjectMethodType.Select)]
public IEnumerable<OperatorField> FindByType(String type)
{
    //  return only selected type
    //return (from ce in this.OperatorFields where ce.Type == type select ce).ToList();

    List<OperatorField> r = new List<OperatorField>();

    foreach (OperatorField f in this.OperatorFields)
        if (f.Type == type)
            r.Add(f);

    return r;
}

最佳答案

您还能使用 C# 3.0 而不是 .NET 3.5 吗?如果是这样,请保持代码不变并使用 LINQBridge ,这是为 .NET 2.0 实现的 LINQ to Objects。

否则,这样做:

[DataObjectMethod(DataObjectMethodType.Select)]
public IEnumerable<OperatorField> FindByType(String type)
{
    List<OperatorField> list = new List<OperatorField>();
    foreach (OperatorField ce in OperatorFields)
    {
        if (ce.Type == type)
        {
            list.Add(ce);
        }
    }
    return list;
}

关于c# - 将 LINQ 转换为 .NET 2.0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1232724/

相关文章:

c# - 领域驱动设计和使用多态子实体

C# - ASP.NET 按钮单击事件不起作用

c# - 确定集合至少有 2 个项目的有效方法

c# - 将 Linq 结果直接序列化为 JSON

compact-framework - C# - 阻止代码在设计器中执行

c# - 使用 Enterprise Library 5 进行数据库记录

c# - RegEx 解析 XML 文件并仅返回带有文件扩展名的 url

c# - 将 .NET XML 格式的 DSA 非对称 key 转换为 PEM 格式

C# LINQ 获取字段值与字符串数组黑名单不匹配的对象

lambda - 此 lambda 表达式的 C# 2.0 等效代码是什么