相关疑难解决方法(0)

IEnumerable <T> .Reverse是如何工作的?

我正在检查反射器中的代码,但我还没有发现它如何通过集合向后枚举?

由于没有计数信息,枚举总是从集合的"开始"开始,对吧?

这是.NET框架中的缺点吗?成本是否高于常规枚举?

.net c# linq collections

21
推荐指数
2
解决办法
1万
查看次数

IEnumerable是否必须使用Yield来延迟

IEnumerable是否必须使用Yield来延迟?

这是测试代码,它帮助我理解延迟执行和收益.

 //immediate execution
        public IEnumerable Power(int number, int howManyToShow)
        {
            var result = new int[howManyToShow];
            result[0] = number;
            for (int i = 1; i < howManyToShow; i++)
                result[i] = result[i - 1] * number;
            return result;
        }

        //deferred but eager
        public IEnumerable PowerYieldEager(int number, int howManyToShow)
        {
            var result = new int[howManyToShow];
            result[0] = number;
            for (int i = 1; i < howManyToShow; i++)
                result[i] = result[i - 1] * number;

            foreach (var value in result)
                yield return value; …
Run Code Online (Sandbox Code Playgroud)

c#

6
推荐指数
1
解决办法
356
查看次数

标签 统计

c# ×2

.net ×1

collections ×1

linq ×1