【发布时间】:2017-10-02 07:52:14
【问题描述】:
我一直在为 IOT 设备做一些模拟,我需要在 C# 中生成一个随机 IP 地址。创建随机 IP 地址最简单的方法是 C#?
【问题讨论】:
我一直在为 IOT 设备做一些模拟,我需要在 C# 中生成一个随机 IP 地址。创建随机 IP 地址最简单的方法是 C#?
【问题讨论】:
如果你想使用IPAddress 对象:
var data = new byte[4];
new Random().NextBytes(data);
IPAddress ip = new IPAddress(data);
注意:如果您多次这样做,您应该只创建一个Random 对象并重复使用它。
如果要确保第一个元素不为零,则应在将其传递给 IPAddress 构造函数之前将其与 1 进行 OR:
data[0] |= 1;
...
如果您想要 IPV6 地址,请将第一行替换为:
var data = new byte[16];
您将获得一个 IPV6 地址。
【讨论】:
0.x.x.x
IPAddress 类而言并非无效;它会很高兴地创建这样一个地址,但我想如果它对单元测试很重要,你应该考虑它。
基于使用 Visual Studio 2017 和字符串插值
public string GetRandomIpAddress()
{
var random = new Random();
return $"{random.Next(1, 255)}.{random.Next(0, 255)}.{random.Next(0, 255)}.{random.Next(0, 255)}";
}
【讨论】: