2010-10-21 89 views
0

我正在从xml文件读取IP地址,并将其放入IPaddress.parse()中,然后使用它,但它不起作用。它会显示“指定了无效的IP地址”。但是当我手动编写它时,它就可以工作。C#中的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") 

为什么这些结果不一样?

+1

什么是IPADD则传递到IPAddress.Parse的精确值? – 2010-10-21 16:45:59

+0

尝试检查ipadd在调试中的实际值是什么 – Andrey 2010-10-21 16:46:28

+0

我把ipadd的值放在一个标签上,它是一样的,它们都是255.255.255.255 ......但我会尝试调试并返回。 – gheddo 2010-10-21 18:43:44

回答

3

如果ipadd == "255.255.255.255"那么应该没有任何工作停止。

显然,虽然ipadd != "255.255.255.255"

,当您将它传递给IPAddress.Parse()方法我建议调试,设置断点和检查的ipadd值。

+2

+1为断点。 – 2010-10-21 16:52:15

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);