如何尽快创建一个 ip 范围?

how to create an ip range fast as fast as possible?

如何最快得到结果 我写下面的代码。

for (int i = 0; i < 256; i++)
             for (int j = 0; j < 256); j++)
               for (int k = 0; k < 256; k++)
                     for (int p = 0; p < 256; p++)
                     {
                         writer.WriteLine(string.Format("{0}.{1}.{2}.{3}", i, j, k, p));
                     }

但是我的用户告诉我它太慢了。我不知道如何促进进步。分享问题,也许 有人知道。谢谢。

您正在节省 256 的 4 次方。这是对 setText 的超过 40 亿次调用。如果您需要 创建那么多项目,则必须查看 setText 的性能。您的循环性能足够好,如果您可以优化 setText 尚不清楚,因为我不知道它的作用。但是任何你做 40 亿次的事情都可能会很慢。

您可以尝试使用 IPAddressRange :https://www.nuget.org/packages/IPAddressRange/

但是如果你想得到所有的ipv4范围还是会很长!

var range = NetTools.IPAddressRange.Parse("192.168.0.10 - 192.168.10.20");
System.Text.StringBuilder builder = new System.Text.StringBuilder();
  foreach (var item in range)
    {
        builder.Append(item);
    }