这是一个有点奇怪的问题,但我正在寻找一些 c# 代码,这些代码将采用作为字符串提供的 IP 地址并返回给我另一个字符串,该字符串表示包括初始 IP 地址的 IP 地址范围。例如……
如果初始字符串是“192.168.1.150”,那么我需要生成一个值为“192.168.1.149-192.168.1.151”的新字符串。
我知道我可以通过在“.”处拆分初始字符串然后将第 4 个数字转换为 int 然后减去或添加它来实现这一点......但这似乎有点蹩脚,我希望有人可能有更优雅的解决方案:)
另外...我也希望它也支持 IPv6 地址。
有什么很酷的方法吗?谢谢。
最佳答案
老实说,这听起来像是 IPv4 的最佳方式。获取第四个八位位组 (.150),转换为 int,减去 1 得到范围的开始,加 1 得到范围的结束。没有比这更简单的了。至于 IPv6,谷歌“在 C# 中添加十六进制数”。
关于C# - 添加和减去 IP 地址字符串以创建范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5925706/