title: Why doesn't the new hat-operator index from the C# 8 array-slicing feature start at 0?
body: <p>C# 8.0 introduces a convenient way to slice arrays - see <a href="https://blogs.msdn.microsoft.com/dotnet/2018/11/12/building-c-8-0/" rel="noreferrer">official C# 8.0 blogpost</a>.</p>
  <p>The syntax to access the last element of an array is</p>
  <pre><code>var value = new[] { 10, 11, 12, 13 };
  
  int a = value[^1]; // 13
  int b = value[^2]; // 12
  </code></pre>
  <p>I'm wondering why the indexing for accessing the elements backwards starts at 1 instead of 0? Is there a technical reason for this?</p>