Iterator block generates try-fault in IL

After experimenting with an iterator block I noticed the generated IL code is not what I expect it to be. Instead of a try-finally block a try-fault block is generated, which I have never seen. I …

What is the point of nop in CIL

So I wrote the following code in C#.

class Test
{
int a;
System.IO.StreamReader reader;

public Test()
{
a = 5;
reader = new System.IO.StreamReader(String.Empty);