【发布时间】:2012-12-11 20:30:51
【问题描述】:
是否有一种静态方法可以用来解析字符串以检查它是否是 IP 地址,而不必初始化一个新的 System.Net.IPAddress 实例?
这就是我想要实现的目标
System.Net.IPAddress throwawayIpAddress = new System.Net.IPAddress(Encoding.ASCII.GetBytes("127.0.0.1"));
System.Net.IPAddress.TryParse(baseUri.Host, out throwawayIpAddress);
baseUri 是 Uri 变量,Host 是 string。我正在寻找更简单的东西,例如:
System.Net.IPAddress.TryParse(baseUri.Host, out new System.Net.IPAddress(Encoding.ASCII.GetBytes("127.0.0.1"));
由于TryParse() 方法需要String 和out IPAddress 引用,我不能直接传递null 或一次性对象。
感谢您对解析字符串以测试其是否为 IP 地址的更简单方法的建议。
【问题讨论】:
-
语言错误 - 假设 throwawayIpAddress 被用作 OUT,没有必要对其进行初始化。这实际上应该引发一些警告。只需将其设置为“null”,而不是 new ....IpAddress。它是一个 OUT 参数,无论如何它都会被覆盖掉。不过,我很确定您会收到警告甚至错误,但使用已初始化的变量作为输出参数。
标签: c# .net parsing ip-address system.net