IPAddress上的奇怪.Net行为等于

Vas*_*sya 3 .net c#

可能重复:
如何比较IP地址

请告诉我某人,为什么这段代码(.Net 4.0):

IPAddress ip = IPAddress.Parse("0.0.0.0");
if (ip == IPAddress.Any) Console.WriteLine("any"); 
else Console.WriteLine("Not any");
Console.WriteLine(IPAddress.Any.ToString());
Run Code Online (Sandbox Code Playgroud)

在控制台中显示下一个结果:不是任何0.0.0.0

Osi*_*ris 11

使用该Equals方法.

if (ip.Equals(IPAddress.Any))

  • +1,原因很简单`operator ==`在IPAddress类中没有重载 (5认同)