Встроенный метод .Net System.Net.IPAddress.ToString () ведет себя непоследовательно для адресов 1280v6 для адресов 1280v6 для адресов. array 0xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
, в некоторых средах «aaaa: aaaa: aaaa: aaaa: aaaa: aaaa: aaaa 11, тогда как aa45: другие вернули: aaaa 11, тогда как aa45 : aaaa: aaaa: aaaa: 172.172.172.172 "
.
Я понимаю, что оба являются допустимыми форматами IPv6, но я хотел бы объяснить разницу.
Кажется, что новые среды (Windows 7 и Server 2008 R2) с большей вероятностью будут производить первое поведение, поэтому я проверил очевидные различия, такие как версия .Net framework, но мне не удалось обнаружить закономерность.
1283] Есть ли способ выбрать один формат вместо другого, или мне нужно кодировать это, чтобы добиться согласованного поведения?
Код для воссоздания:
byte[] bytes = {0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA};
IPAddress myIP = new IPAddress(bytes);
Console.WriteLine(myIP.ToString());