我似乎无法从min中减去最大值,是否有人知道如何解决这个问题。
代码:
Do While (rngNumbers < lstSize - 1)
rngNumbers += 1
If CBool(CDbl(lstAverage.Items(CInt(rngNumbers > max)))) Then
max = CInt(lstAverage.Items(rngNumbers))
ElseIf CBool(CDbl(lstAverage.Items(CInt(rngNumbers < min)))) Then
min = CInt(lstAverage.Items(rngNumbers))
End If
Loop
grdRange = max - min
txtRange.Text = grdRange.ToString
答案 0 :(得分:2)
除此之外看起来不是很好的代码,但我认为这个:
If CBool(CDbl(lstAverage.Items(CInt(rngNumbers > max)))) Then
应该是这样的:
If CDbl(lstAverage.Items(rngNumbers)) > max Then
这是一个更适合For Each
循环的场景:
For Each num As Double In lstAverage.Items
If num > max Then
max = num
ElseIf num < min Then
min = num
End If
Next
您在原始代码中使用CDbl
和CInt
,因此我不知道您是使用Double
还是Integer
值。我在该示例中使用了Double
,但如果Integer
包含ListBox
,则Integers
的效果与Strings
相同。希望它确实包含一个或另一个而不是{{1}}。