Ip地址解析C#中的问题

时间:2010-10-21 16:44:51

标签: c# .net

我正在从xml文件中读取IPaddress并将其放入IPaddress.parse()然后使用它但它不起作用。它说“指定了无效的IP地址”。但是当我手动编写它时,它可以工作。

为什么我在阅读xml文件后无法使用IP地址。我试图抹去“白色空间”,它又说了一遍。

string ipadd; //take ip address from xml and use
 ...
 IPAddress ipaddre = IPAddress.Parse(ipadd); 
------------------------------
 IPAddress ipaddre = IPAddress.Parse("255.255.255.255")

为什么这些没有给出相同的结果?

2 个答案:

答案 0 :(得分:3)

如果ipadd == "255.255.255.255"那么就没有什么能阻止他们工作了。

显然,ipadd != "255.255.255.255"

我建议调试,设置断点,并在将ipadd方法传递给IPAddress.Parse()时检查{{1}}的值。

答案 1 :(得分:0)

假设ipadd =“255.255.255.2552”,则只存在两种可能性:

1)解析时抛出异常,因此您的比较没有发生,或者 2)用于比较两个结果的方法是不合适的。

我强烈建议您添加两个语句并在下一行放置一个断点,然后您将看到您正在处理的内容:

IPAddress ipaddreReal = IPAddress.Parse(ipadd);
IPAddress ipaddreFake = IPAddress.Parse("255.255.255.255");
bool result = ipAddre.Real.Equals(ipaddreFake);