我正在使用 Math.Max 和 Math.Min 在以下代码中查找最大和最小小数:
decimal[] numbers = { d1, d2, d3, d4, d5, d6, d7, d8, d9, d10 };
decimal biggestNumber = numbers.Max();
decimal lowestNumber = numbers.Min();
lblS1Val.Text = biggestNumber.ToString();
lblO1Val.Text = lowestNumber.ToString();
我想实际找到三个最大和三个最小的数字。我可以用 Math.Max/Min 做到这一点吗?
最佳答案
虽然您可以使用 Math.Min
和 Math.Max
对于你想要的,有一种更简单的方法使用 LINQ To Objects ,因为它们旨在处理集合,这就是我们在这里处理的内容:
var smallestThree = numbers.OrderBy(x => x).Take(3);
var largestThree = numbers.OrderByDescending(x => x).Take(3);
注意这将返回 IEnumerable<decimel>
,所以如果你想 ToString
它,你可以使用 string.Join
:
lblS1Val.Text = string.Join(", ", largestThree);
lblO1Val.Text = string.Join(", ", smallestThree);
关于c# - 如何使用 Math.Max、Math.Min 找到三个最大和三个最小的小数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29976562/