当输入以这种格式作为字符串来到我的应用程序时,我需要一种优雅的方式使用VB.Net迭代一系列IP地址:
192.168.100.8-10
此范围包括3个地址:
192.168.100.8, 192.168.100.9, 192.168.100.10.
我在C#中找到了一个使用IP地址类的解决方案,我可以将其转换为VB,但它似乎是我需要做的代码太多了。我当然可以使用一堆字符串解析函数,但我希望有人已经有一个简单的方法来做这个。
答案 0 :(得分:0)
这是一个解决方案。使用通用列表会更容易......
Dim arrFinalIpList() As String
Dim strIP As String = "192.168.100.8-10"
Dim arrIP() As String = strIP.Split(".")
Dim strPrefix As String = arrIP(0) & "." & arrIP(1) & "." & arrIP(2) & "."
Dim arrMinAndMax() As String = arrIP(3).Split("-")
Dim intCursor As Integer = 0
For intCursor = CInt(arrMinAndMax(0)) To CInt(arrMinAndMax(1))
If arrFinalIpList Is Nothing Then
ReDim arrFinalIpList(0)
arrFinalIpList(0) = strPrefix & intCursor.ToString()
Else
ReDim Preserve arrFinalIpList(arrFinalIpList.Count)
arrFinalIpList(arrFinalIpList.Count - 1) = strPrefix & intCursor.ToString()
End If
Next