如果我有一个协程如下,那么finally块中的代码会被调用吗?c#yield并且试着终于
public IEnumerator MyCoroutine(int input)
{
try
{
if(input > 10)
{
Console.WriteLine("Can't count that high.");
yield break;
}
Console.WriteLine("Counting:");
for(int i = 0; i < input; i++)
{
Console.WriteLine(i.ToString());
yield return null;
}
}
finally
{
Console.WriteLine("Finally!");
}
}
你试过了,看看会发生什么? – CodeNaked 2011-05-25 18:41:57
我想你的控制台会持有这个问题的答案。 – 2011-05-25 18:42:36
这可以很容易地在你的调试器验证 – 2011-05-25 18:45:01