【发布时间】:2013-02-20 14:54:53
【问题描述】:
我有以下小班:
public class IPRange
{
public IPAddress From { get; set; }
public IPAddress To { get; set; }
public IPRange(IPAddress from, IPAddress to)
{
From = from;
To = to;
}
}
如何检查两个 IPRange 是否相互重叠,如果是,将两个 iprange 合并到一个新的 IPRange 中?解决方案必须同时兼容 IPv4 和 IPv6。
有比较两个 ipaddress 对象的方法吗?我无法立即找到它们。 例如 10.12.0.2 > 10.12.0.1 应该为真
【问题讨论】:
-
对于 ipv4 获取它们的 int32_t 表示并进行比较
-
128位的ipv6怎么样?
-
你想只合并重叠的范围还是相邻的范围?
标签: c# ip-address