title: uri scheme property meaning
body: <p>Perhaps it's not very practical question but still...</p>
  
  <pre><code>        var u1 = new Uri("esnode0:9200");
          var u2 = new Uri("esnode1:9200");
          var u3 = new Uri("esnode2:9200");
          var u4 = new Uri("esnode3:9200");
          var u5 = new Uri("esnode4:9200");
  
          var uriList = new List&lt;Uri&gt;() { u1, u2, u3, u4, u5 };
  
          if (uriList.Select(u =&gt; u.Scheme).Distinct().Count() &gt; 1)
              throw new ArgumentException("all URIs should be of the same scheme");
  </code></pre>
  
  <p>In this code I am declaring five URIs <strong>without</strong> URI scheme. In the end when I try to see do we have same URI scheme in list it turns out that... well, no. The scheme for this URI is the URI without port. I know that it can be easily fixed by prepending protocol to each of URIs. But what's the reason for such behavior? Isn't it safer to set URI to null in that case?</p>