title: Does using unchecked context hurt performance or portability in C#?
body: <p>I want to implement a fast hash function that will use <code>int</code> datatype and rely on integer overflow. MSDN says that in order to guarantee that overflows don't trigger exceptions I have to use <code>unchecked</code> blocks for that code.</p>
  
  <p>Suppose I surround only that computation in an <code>unchecked</code> block. Will my code have any performance or portability problems because of that?</p>