IPAddress.[Try] Parse解析192.168到192.0.0.168

Rem*_*Pop 3 c# networking ip-address .net-4.0

我有以下场景:

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

我希望解析失败,而不是解析为"192.0.0.168".我在这里错过了什么?(IPAddress.Parse的工作原理相同)

Ode*_*ded 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
Run Code Online (Sandbox Code Playgroud)


Joh*_*ner 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
Run Code Online (Sandbox Code Playgroud)

  • 当然可以,我们都复制了文档:). (5认同)