title: Why is string.Substring(length,0) allowed?
body: <p>Can somebody tell me for what is allowed to use <code>string.Substring(someIndex,0)</code>?</p>
  
  <pre><code>string a = "abc";
  var result = a.Substring(1,0);
  Console.WriteLine(result);
  </code></pre>
  
  <p>This code will be compiled and will write nothing to console.<br>
  What is the reason that this is allowed?<br>
  In which case can this be used?</p>
  
  <p>UPDATE</p>
  
  <p>I will clarify that I know what is this method and that in this case it is returning empty string. I am NOT asking why the result is empty. I am asking why it's allowed to do this.</p>