修改IEnumerable函数

时间:2017-06-22 05:36:45

标签: c# linq ienumerable

我有下一个代码:

 public sealed class Gaaa
        {
            private readonly int _ids;

            public Gaaa(int id)
            {
                _ids = id;
            }
            public static IEnumerable<Gaaa> Generate(int num)
            {
                return Enumerable.Range(1, num).Select(ids => new Gaaa(ids + 1));
            }
        }

如何在Generate函数中以不同方式表示代码?

1 个答案:

答案 0 :(得分:1)

我假设你不喜欢点符号。这是你如何做到的:

return from id in Enumerable.Range(1, num)
    select new Gaaa(id + 1);

我个人更喜欢这里的点符号,因为你要做的事情很简单 - 创建一堆具有递增范围的Gaaa s。我认为在这种特殊情况下使用点符号更具可读性。

我认为查询符号更适合用于涉及集合和更复杂操作的情况,如下所示:

from item in aCollection
where item.Property2 > 10
orderby item.Property1
select item.Property3

此外,在进行连接时,查询表示法更具可读性。