title: IPv6: Why changing ScopeId of System.Net.IPAddress is not reflected at ToString() representation?
body: <p>Yesterday I met a thing that seems as a .NET bug.</p>
  
  <pre><code>IPAddress addr = IPAddress.Parse("fe80::1111:2222:abc%11"); // ScopeId is 11
  
  string s1 = addr.ToString(); // I obviously see fe80::1111:2222:abc%11
  addr.ScopeId = 0; // ScopeId is zero from now
  string s2 = addr.ToString(); // I expect to see fe80::1111:2222:abc
  </code></pre>
  
  <p>Why <code>s1</code> is the same content as <code>s2</code> even after the <code>ScopeId</code> is changed? In debugger Watch window I see that scope value is really changed. But internal string field has no impact.</p>
  
  <p>For sure, I tried this with various IPv6 addresses and different scope IDs - behavior is the same. What have I missed?</p>