title: How captured value in anonymous methods are implemented in .NET
body: <p>I am curious about the actual .NET implementation and the decision behind it.</p>
  
  <p>For example in Java, all captured values used in an anonymous classes are required to be final. This requirement seems to be dropped in .NET.</p>
  
  <p>Also, is there a difference in an implementation of captured values for value types as opposed to reference types?</p>
  
  <p>Thanks</p>