gpt4 book ai didi

c# - 函数中绝对数的总和

转载 作者:行者123 更新时间:2023-12-02 16:03:47 25 4
gpt4 key购买 nike

我试试这个:

public static int sum(List<int> list)
{
int sum = 0;

foreach (var item in list)
{
sum = item + sum;
}

return sum;
}

public static int sumAbsolute(List<int> list)
{
foreach (var item in list)
{
Math.Abs(item);
}

return sum(list);
}

在主函数中:

static void Main(string[] args)
{
var list = new List<int>() {
-1,-2,-3
};

Console.WriteLine(sumAbsolute(list));
Console.ReadKey();
}

但输出是 -6 而不是 6。

那么为什么我的代码不起作用?

最佳答案

简而言之:因为 Math.Abs​​(item) 返回一个您不使用的 int:

如果你真的想替换列表中的所有 int,你可以这样做:

for(int i = 0; i < list.Length; i++)
{
list[i] = Math.Abs(list[i]);
}

或者使用 LINQ,这也不需要修改列表:

public static int SumAbsolute(IEnumerable<int> list)
{
return list.Select(Math.Abs).Sum();
}

关于c# - 函数中绝对数的总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69962176/

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