title: Why are const parameters not allowed in C#?
body: <p>It looks strange especially for C++ developers. In C++ we used to mark a parameter as <code>const</code> in order to be sure that its state will not be changed in the method. There are also other C++ specific reasons, like passing <code>const ref</code> in order to pass by ref and be sure that state will not be changed. But why can't we mark as method parameters const in C#?</p>
  
  <p>Why can't I declare my method like the following?</p>
  
  <pre><code>    ....
      static void TestMethod1(const MyClass val)
      {}
      ....
      static void TestMethod2(const int val)
      {}
      ....
  </code></pre>