如何获取数组的每个元素的绝对值

时间:2016-07-16 19:51:03

标签: c# arrays min absolute-value

我在将数组中的元素转换为绝对值时遇到了一些问题。

Console.WriteLine("\nQ = {0}, difference = |{1} - {2}| = {3} ",
                  a + 1, store[a], store2[a], Math.Abs(store3[a]));

store3是一个数组。我已经在程序中输入了一些元素。 我会得到正确的答案 问题是在获得绝对值后,我必须找到数组的最小值,但它返回负整数。我只希望以绝对值返回最小或最小的元素。我该怎么做我希望你理解我的问题。

2 个答案:

答案 0 :(得分:2)

如果您想要“绝对值中最小或最小的元素”,请尝试使用必需的lambda直接Min

store3.Min(x => Math.Abs(x));

实施

Console.WriteLine("\nQ = {0}, difference = |{1} - {2}| = {3} ",
                  a + 1, 
                  store[a], 
                  store2[a], 
                  store3.Min(x => Math.Abs(x)));

答案 1 :(得分:0)

您可以使用LINQ获取Abs值

store3Abs = store3.Select(x => Math.Abs(x)).ToArray();

如果你不需要中间abs数组,你可以直接得到最小值

var min = store3.Select(x => Math.Abs(x)).Min();