为什么
我看到的规律是字符串中最后一个八位组是
但是这么做的原因是什么呢?作为用户,我希望在转换时除非指定了所有八位组否则会失败。 因为它允许这些转换,所以当检查字符串是否为有效IP地址时,可能会出现意外的结果。
System.Net.IpAddress
允许下列字符串转换为合法的 IP 地址? $b = [ipaddress]"10.10.10"
$b.IPAddressToString
#10.10.0.10
$c = [ipaddress]"10.10"
$c.IPAddressToString
#10.0.0.10
$d = [ipaddress]"10"
$d.IPAddressToString
#0.0.0.10
我看到的规律是字符串中最后一个八位组是
IPAddress
对象中的最后一个八位组,而字符串中的前面八位组用作 IPAddress
的左侧八位组,并且如果有未指定的中间八位组,则使用零填充。但是这么做的原因是什么呢?作为用户,我希望在转换时除非指定了所有八位组否则会失败。 因为它允许这些转换,所以当检查字符串是否为有效IP地址时,可能会出现意外的结果。
[bool]("10" -as [ipaddress]) #Outputs True