在下一个循环vb.net中构建一个整数数组

时间:2013-10-01 22:21:24

标签: vb.net

我到目前为止......我的数据字符串“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以及最后一个

TIA

2 个答案:

答案 0 :(得分: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的重载来删除空字符串。

答案 1 :(得分: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()