math.min和math.max vs sort有效地查找列表中的值

时间:2015-04-05 21:50:30

标签: vb.net list sorting max min

在visual basic中,当试图找到列表中的最大值和最小值时,使用math.min / max会更有效:

Dim highest As Decimal = Decimal.MinValue
Dim lowest As Decimal = Decimal.MaxValue

For Each item As Decimal In listNumber
    highest = Math.Max(highest, item)
    lowest = Math.Min(lowest, item)
Next

或者对列表进行排序并按索引获取值,如下所示:

listNumber.Sort()
listNumber(0)
listNumber(99)

看起来使用min / max是首选方法,但它们似乎都能很好地运行100个十进制值的列表,比另一个更有效,或者这只是一个6对半打的东西?

我试图找到一种在Visual Studio 2013 Express中对此进行基准测试的方法,但看起来我必须升级到Visual Studio Ultimate,我是否错过了什么?

1 个答案:

答案 0 :(得分:1)

对项目进行排序意味着您不仅要找出哪一个是最大和最小的,还要根据值排列中间的所有项目。虽然做起来很简单,但仍然需要额外的工作才能使计算机完成。

您可以使用MinMax方法获得所需内容,就像对列表进行排序一样简单:

Dim highest As Decimal = listNumber.Min()
Dim lowest As Decimal = listNumber.Max()