title: C# changing a value with extension method
body: <p>If I have the following extension methods:</p>
  
  <pre><code>internal static class Extensions
  {
      public static void Increase(this uint value)
      {
          value += 1;
      }
  
      public static void Decrease(this uint value)
      {
          if (value &gt; 0) value -= 1;
      }
  }
  </code></pre>
  
  <p>Why does this not result in a changing <code>i</code> to 1?</p>
  
  <pre><code>uint i = 0;
  i.Increase();
  </code></pre>