0

我已经到了这一步……我的数据字符串“num_str”包含一组约 10 个数字,每个数字用逗号分隔。字符串的最后一部分是空白条目,所以我使用 '.Trim' 来避免错误

Dim i As Integer
        Dim m_data() As String
        m_data = num_str.Split(",")

        For i = 0 To UBound(m_data)
            If m_data(i).Trim.Length > 0 Then
                MsgBox(Convert.ToInt32(m_data(i).Trim))
            End If
        Next i

从 Msgbox 中可以看到,每个数字都成功通过了循环。

我被卡住的地方是如何将所有“Convert.ToInt32(m_data(i).Trim)”数字(现在可能是整数)放入一个数组中。

如何在 For / Next 循环中构建整数数组,以便找到 MAX 和 MIN 和 LAST

TIA

4

2 回答 2

1

您只需要使用从零开始的索引器来初始化数组。您可以从 的大小推断出它的初始大小string()

Dim m_data = num_str.Split({","c}, StringSplitOptions.RemoveEmptyEntries)
Dim intArray(m_data.Length) As Int32

For i = 0 To m_data.Length - 1
    intArray(i) = Int32.Parse(m_data(i).Trim())
Next i

请注意,我还使用了String.Split删除空字符串的重载。

于 2013-10-01T22:26:06.730 回答
0

这种方式使用 Select LINQ Operator 更加简洁。

Dim arrayOfInts = num_str.
                Split({","c}, 
                StringSplitOptions.RemoveEmptyEntries).
                Select(Function(v) Int32.Parse(v.Trim()))

Dim minInt = arrayOfInts.Min()
Dim maxint = arrayOfInts.Max()
于 2013-10-01T22:34:40.993 回答