0
私は以下のIP範囲の文字列を持っている:私はIPをカウントし、ArrayListのに追加するためのコードを使用計算IP IPでの範囲
Dim IPRange as String = "192.168.0.1-192.168.0.100"
:
Dim beginIP() As Byte = IPAddress.Parse(IPRange.Split("-")(0)).GetAddressBytes
Array.Reverse(beginIP)
Dim endIP() As Byte = IPAddress.Parse(IPRange.Split("-")(1)).GetAddressBytes
Array.Reverse(endIP)
Dim IPbegin As UInt32 = BitConverter.ToUInt32(beginIP, 0)
Dim IPend As UInt32 = BitConverter.ToUInt32(endIP, 0)
Dim total as Integer = 0
Dim arr as New ArrayList()
For i As UInt32 = IPbegin To IPend
Dim IPbyte() As Byte = BitConverter.GetBytes(i)
Array.Reverse(IPbyte)
Dim IPCheck As String = New IPAddress(IPbyte).ToString
total += 1
arr.Add(IPCheck)
Next
をしかし、私は億IPとそのように千IPRangeを持っています、私のアプリケーションを非常に遅くするループ。この場合、このコードやIP範囲を計算する別の方法をどのように高速化できますか?
マルチスレッドを使用しますか? –
私はコードを実行し、何千もの問題はありませんでした。数百万が数秒で生産されました。問題がある場合は、問題のコードを表示していません。 – dbasnett
'ArrayList'を使用しないでください。非常に古いです。代わりに 'List(Of T)'を使用してください。 –