IPv6 ScopeId - почему не обновляет строковое представление?
От: Mr.Delphist  
Дата: 07.08.13 22:18
Оценка:
В процессе разборок с IPv6 обнаружил непонятное для себя поведение класса System.Net.IPAddress

Вопрос: почему s1 и s2 оказываются равны?
            IPAddress addr = IPAddress.Parse("fe80::abcd:1111:2222:dc9%11");

            string s1 = addr.ToString();
            addr.ScopeId = 0;
            string s2 = addr.ToString();
            if (s1 == s2) throw Application.Exception("WTF???");

Исходный адрес имеет "скоуп 11", далее я сбрасываю его в нуль (пробовал единицу, сорок два — результат аналогичен). Соответственно, в дебагере я вижу, что пропертя ScopeId изменила своё значение. Но почему не обновляется строковое представление? Оно упрямо держит одиннадцатый скоуп.

Что я не учитываю?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.