3

我有以下情况:

IPAddress ip;
IPAddress.TryParse("192.168", out ip);    
if(ip == null){//do something with IP}

我希望解析失败,而是将其解析为“192.0.0.168”。我在这里想念什么?(IPAddress.Parse 的工作原理相同)

4

3 回答 3

8

从以下文档Parse

ipString 中的部分数量(每个部分用句点分隔)决定了 IP 地址的构造方式。一个部分地址直接存储在网络地址中。两部分地址,便于指定 A 类地址,将开头部分放在网络地址的第一个字节中,将结尾部分放在网络地址的最右边三个字节中。三部分地址,便于指定B类地址,将第一部分放在网络地址的第一个字节中,第二部分放在第二个字节中,最后一部分放在网络地址的最右边两个字节中。例如:

Number of parts and example ipString | IPv4 address for IPAddress
1 -- "65536"                         | 0.0.255.255
2 -- "20.2"                          | 20.0.0.2
2 -- "20.65535"                      | 20.0.255.255
3 -- "128.1.2"                       | 128.1.0.2
于 2012-09-24T14:06:41.037 回答
6

包含与您类似的示例的文档非常清楚:

ipString 中的部分数量(每个部分用句点分隔)决定了 IP 地址的构造方式。一个部分地址直接存储在网络地址中。两部分地址,便于指定 A 类地址,将开头部分放在网络地址的第一个字节中,将结尾部分放在网络地址的最右边三个字节中。三部分地址,便于指定 B 类地址,将第一部分放在网络地址的第一个字节中,第二部分放在第二个字节中,最后一部分放在网络地址的最右边两个字节中。

Number of parts and example ipString      IPv4 address for IPAddress    
====================================================================
1 -- "65536"                              0.0.255.255
2 -- "20.2"                               20.0.0.2
2 -- "20.65535"                           20.0.255.255
3 -- "128.1.2"                            128.1.0.2
于 2012-09-24T14:06:01.900 回答
4

http://192.168在浏览器的地址栏中键入。怎么了?

这是预期的行为。

于 2012-09-24T14:06:24.323 回答