gpt4 book ai didi

c# - 使用单个 lambda 表达式从满足给定条件的 int 数组中获取数字的总和

转载 作者:太空宇宙 更新时间:2023-11-03 18:33:05 26 4
gpt4 key购买 nike

我不知道我是否遗漏了一些简单的东西,我有这个工作示例:

    int[] x = new int[] {1, 2, 3, 5, 6, 7};

int[] arrayToUse = x.Where(i => i > 4).ToArray<int>();
int sum = arrayToUse.Sum();

Console.WriteLine(sum.ToString());

我想知道 - 有没有办法将这两者结合起来:

int[] arrayToUse = x.Where(i => i > 4).ToArray<int>();
int sum = arrayToUse.Sum();

为了获得一个立即返回总和的表达式?

最佳答案

只是:

int sum = x.Where(i => i > 4).Sum();

如果您调用 ToArray ,这会将所有数据复制到一个新的数组对象,但如果您不需要它,请将其保留。 Sum适用于任何 IEnumerable<int> (以及其他数字类型),无需在那里创建中间数组。

无论如何,如果您调用ToArray , 你可以省略 <int>部分因为编译器可以推断类型参数,int ,在这种情况下很容易。

当你做 Console.WriteLine , 你不必做 ToString在整数上; WriteLine有一个接受 int 的重载(没有装箱),它会调用 ToString自动。

关于c# - 使用单个 lambda 表达式从满足给定条件的 int 数组中获取数字的总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19598835/

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