日期:2014-05-17  浏览次数:21275 次

问一个IPAddress.Parse的邪门问题
e.IP = IPAddress.Parse("10.10.101.99");正常

string s = senduser.Rows[0]["lastIp"].ToString();
e.IP = IPAddress.Parse(s); 

这个就报错,而这个S的值是有的,就是10.10.101.99,可是直接赋值就没问题,这是什么原因呢

------解决方案--------------------
探讨
e.IP = IPAddress.Parse("10.10.101.99");正常

string s = senduser.Rows[0]["lastIp"].ToString();
e.IP = IPAddress.Parse(s);

这个就报错,而这个S的值是有的,就是10.10.101.99,可是直接赋值就没问题,这是什么原因呢

------解决方案--------------------
看一下,a.Trim()后是什么结果
ip实质上就是32位的一个整型值,肯定是有空格才导致的错误
------解决方案--------------------
C# code

string s = senduser.Rows[0]["lastIp"].ToString().Trim();
e.IP = IPAddress.Parse(s);