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

3

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

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

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

2个回答

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)));

0

你可以使用 LINQ 来获取绝对值

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

如果您不需要中间的 abs 数组,可以直接获取最小值

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

我该如何在控制台中显示最小值? - whomustnotbenamed
但它只返回0。 - whomustnotbenamed
store3的值是多少?如果store3为0,则最小值为0。使用Console.WriteLine方法将内容写入控制台。 - keyboardP

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接