using System;
using System.Collections.Generic;
public class Test
{
public static void Main()
{
int j = 0;
foreach(var num in Example())
{
Console.WriteLine(num);
j++;
if(j == 3)
break;
}
}
public static IEnumerable<int> Example()
{
try
{
for(int i = 0; i < 10; i++)
{
Console.WriteLine("Before yield {0}", i);
yield return i;
Console.WriteLine("After yield {0}", i);
}
}
finally
{
Console.WriteLine("In block finally");
}
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKCnB1YmxpYyBjbGFzcyBUZXN0CnsKCXB1YmxpYyBzdGF0aWMgdm9pZCBNYWluKCkKCXsKCQlpbnQgaiA9IDA7CgkJZm9yZWFjaCh2YXIgbnVtIGluIEV4YW1wbGUoKSkKCQl7CgkJCUNvbnNvbGUuV3JpdGVMaW5lKG51bSk7CgkJCWorKzsKCQkJaWYoaiA9PSAzKQoJCQkgICAgYnJlYWs7CgkJfQoJfQoJCglwdWJsaWMgc3RhdGljIElFbnVtZXJhYmxlPGludD4gRXhhbXBsZSgpCgl7CgkJdHJ5CgkgICAgewoJCQlmb3IoaW50IGkgPSAwOyBpIDwgMTA7IGkrKykKCQkJewoJCQkJCgkJCQkJQ29uc29sZS5Xcml0ZUxpbmUoIkJlZm9yZSB5aWVsZCB7MH0iLCBpKTsKCQkJCSAgICB5aWVsZCByZXR1cm4gaTsKCQkJCSAgICBDb25zb2xlLldyaXRlTGluZSgiQWZ0ZXIgeWllbGQgezB9IiwgaSk7CgkJCX0KCQl9CgkJZmluYWxseQoJCXsKCQkJQ29uc29sZS5Xcml0ZUxpbmUoIkluIGJsb2NrIGZpbmFsbHkiKTsKCQl9Cgl9Cn0=