gpt4 book ai didi

c# - .NET 3.5 和 4.5 中 LINQ 查询结果的差异

转载 作者:太空狗 更新时间:2023-10-29 18:20:16 28 4
gpt4 key购买 nike

<分区>

我使用 C# 3.5 和 4.0 执行了以下代码。结果完全不同。

    static void Main()
{
int[] numbers = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
List<IEnumerable<int>> results = new List<IEnumerable<int>>();

foreach (var num in numbers)
{
results.Add(numbers.Where(item => item > num));
}

foreach (var r in results)
{
Console.WriteLine("{0}", r.Count());
}
}

使用 Microsoft (R) Visual C# 2008 编译器版本 3.5.30729.5420,输出为 0 0 0 0 0 0 0 0 0 0

但是对于 Microsoft (R) Visual C# 编译器版本 4.0.30319.17929,输出是 9 8 7 6 5 4 3 2 1 0

我有一个模糊的想法,这是因为延迟执行或懒惰评估,但还没有清楚地了解它是如何对这里的不同输出负责的。

更正:抱歉,它是 .NET 3.5 和 4.5,并且还添加了编译器版本请解释。

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com