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 アドレスを指定するのに便利な 2 部構成のアドレスは、ネットワーク アドレスの最初のバイトに先頭部分を配置し、ネットワーク アドレスの右端の 3 バイトに末尾部分を配置します。クラス B アドレスを指定するのに便利な 3 部構成のアドレスは、最初の部分を最初のバイトに、2 番目の部分を 2 番目のバイトに、最後の部分をネットワーク アドレスの右端の 2 バイトに配置します。例えば:

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 アドレスを指定するのに便利な 2 部構成のアドレスは、ネットワーク アドレスの最初のバイトに先頭部分を配置し、ネットワーク アドレスの右端の 3 バイトに末尾部分を配置します。クラス B アドレスを指定するのに便利な 3 部構成のアドレスは、最初の部分を最初のバイトに、2 番目の部分を 2 番目のバイトに、最後の部分をネットワーク アドレスの右端の 2 バイトに配置します。

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 に答える