【发布时间】:2012-01-01 00:42:02
【问题描述】:
好的,这是一个小问题......但仍然很烦人。
在 MSVS 2008 .NET 3.5 I IPAdress.Address 很长,我只是使用
if(subnet == subnetmask.Address & addr.Address) { ... }
然后我刚刚安装了 MSVS 2010,仍在使用 .NET 3.5,但不知何故它告诉我 IPAddress.Address 已过时。
我仍然可以在BitConverter.ToInt64(subnet.GetAddressBytes(), 0) 中包装一个 BitConvertor,但感觉就像我在倒退。是否有更优雅的方法或内置函数来检查子网?
谢谢。
【问题讨论】:
-
这个问题已经问过几次了,下次请搜索。
-
@leppie:我找不到任何与过时标记和网络掩码/子网计算有关的重复问题。如果你能找到一个,请提出可能的重复。
-
我搜索但找不到我需要的答案。我只是觉得我们没有设法维护子网掩码技术的精神和聪明,因为它似乎没有在 .NET 中实现。我希望我们不会在 for 循环中比较字节块。
-
@leppie 我已经看到了。我首先通过谷歌找到它,不满意,我来到 SO 并找到指向同一篇文章的帖子。该方法是否是唯一合理可行的方法并不是很明显。
标签: c# ip-address