次のシナリオがあります。
IPAddress ip;
IPAddress.TryParse("192.168", out ip);
if(ip == null){//do something with IP}
解析が失敗すると予想されますが、代わりに「192.0.0.168」として解析されます。ここで何が欠けていますか?(IPAddress.Parseは同じように機能します)
次のシナリオがあります。
IPAddress ip;
IPAddress.TryParse("192.168", out ip);
if(ip == null){//do something with IP}
解析が失敗すると予想されますが、代わりに「192.0.0.168」として解析されます。ここで何が欠けていますか?(IPAddress.Parseは同じように機能します)
のドキュメントから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
あなたと同様の例を含むドキュメントは、非常に明確です。
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
http://192.168
ブラウザのアドレス バーに入力します。何が起こるのですか?
これは予期される動作です。