интересная фича языка. код сам за себя скажет. минус - нет возможность yield return'у скормить коллекцию, нужно ее через foreach пропускать
static void Main(string[] args)
{
Console.WriteLine(f().First());
Console.WriteLine("DONE");
Console.ReadKey();
}
static IEnumerable<int> f()
{
try
{
Console.WriteLine("yield 1");
yield return 1;
Console.WriteLine("yield 2");
yield return 2;
}
finally
{
Console.WriteLine("finally");
}
}
аутпут:
yield 1
finally
1
DONE
static void Main(string[] args)
{
Console.WriteLine(f().First());
Console.WriteLine("DONE");
Console.ReadKey();
}
static IEnumerable<int> f()
{
try
{
Console.WriteLine("yield 1");
yield return 1;
Console.WriteLine("yield 2");
yield return 2;
}
finally
{
Console.WriteLine("finally");
}
}
аутпут:
yield 1
finally
1
DONE
Комментариев нет:
Отправить комментарий