这真的很奇怪:
Dim i As Integer
Dim s As String = "48;55;50"
Dim numbers() As String = Split(s, ";")
For Each number In numbers
i = Integer.Parse(number)
Next
这适用于数字(48)中的第一项,但不适用于第二项(55)。我得到一个FormatException。
尝试使用CInt而不是Integer.Parse。甚至尝试使用s.Split而不是Split。
我真的不明白。谢谢:))
答案 0 :(得分:0)
另一种解决方案可能是在Split
命名空间中使用System.Text.RegularExpressions
方法,如果你真的想:
Dim s As String = "23;43;34"
For Each num As String In Regex.Split(s, ";")
Console.WriteLine(Integer.Parse(num))
Next
在数据量不足的情况下,不应该有任何性能差异,所以它取决于你。
答案 1 :(得分:0)
它必须适合你(RemoveEmptyEntries)
Dim i As Integer
Dim s As String = "48;55;50;"
Dim separator As Char() = ";"
Dim numbers As String() = s.Split(separator, System.StringSplitOptions.RemoveEmptyEntries)
For Each number In numbers
i = Integer.Parse(number, System.Globalization.NumberStyles.Integer, System.Globalization.CultureInfo.InvariantCulture)
Next