我遇到了一个我根本无法理解的问题,因为这没有意义。我正在从包含数字的输入记事本文件中读取值。对于每行,将由空格(“”)分隔的数字分配给文本框。在阅读时,除一种特殊情况外,我的所有行都工作正常。
此案例包含2个数字,每个数字代表一种特定类型的商品的数字。代码现在是这样的:
While Not filereader.EndofStream
Dim NumberofItems = {NumType1, NumType2}
Dim currentline As String
currentline = filereader.ReadLine()
currentline = currentline.Trim(" "c)
Dim InputArray() As String = currentline.Split(" "c)
...... 'Other lines being read correctly
For i=0 to Math.Min(NumberofItems.Length -1, InputArray.Length -1)
NumberofItems(i).Text = InputArray(i)
Next
End While
这只会正确分配数组的第一个值(两个中的一个)。但是,如果我将其更改为:
NumberofItems(0).Text = InputArray(0)
NumberofItems(1).Text = InputArray(1)
它工作得非常好,我不明白,因为这本质上是循环,但是时间更长。 我已经重新检查了文本框名称和输入文件,已经检查了.Lengths的值以及Math.Min的返回值-它们都是正确的。我什至将循环替换为:
For i=0 to 1 'Since I know there are only two numbers
NumberofItems(i).Text = InputArray(i)
Next
这仍然不起作用。
有人对我可能在这里做错的事情有任何想法吗/为什么这不起作用?我将不胜感激!