如何编写一个从数据数组中返回最小值,最大值的函数

时间:2013-05-21 18:57:28

标签: c# asp.net vb.net

我在google上看到了一些解决方案,但没有一个对我有意义,任何人都可以用一种简单明了的方式解释如何获得最大值或最小值,如下面的情况?

例如:
假设单个产品可以由许多供应商供应

1 . supp1 = 1000,1001,1002,1003 (productid's)
2 . supp2 = 1000,1002,1003
3 . supp3 = 1001,1003

我将1,2和3列表传递给某个函数并得到两个输出,比如minQty和maxQty  例如: 1000,1001,1002,1003 out put values 2 and 5
1000,1002,1003 out put values 6 and 3
1001,1003 out put values 4 and 9

以上数据 我只想找到所选产品的最小和最大数量值 输出:1000 = min 2 max 5
        1001 = min 2 max 9
        1002 = min 2 max 5
        1003 = min 2 max 9

任何人都可以指导我如何使用代码示例或逻辑来实现它 非常感谢您的帮助

2 个答案:

答案 0 :(得分:2)

在c#中使用linq。

public static Tuple<T, T> MaxAndMin<T>(IEnumerable<T> values)
{
   return new Tuple<T, T>(values.Max(), values.Min());
}

解释。 T是泛型类型,IEnumerable将接受任何继承它的类。 Linq .Max.Min分别返回最大值和最小值。我们返回max和min的元组。

答案 1 :(得分:0)

数组和列表(Of T)可以使用扩展函数.Min.Max。然后你需要做的就是将它们连接在一起作为你的返回字符串。

Dim myList As New List(Of Integer)
myList.Add(1)'etc

Dim min As Integer = myList.Min 
Dim max As Integer = myList.Max