比如下面代碼:
using System;
class Class1
{
[STAThread]
static void Main(string[] args)
{
int m = add(1,2);
Console.WriteLine(m);
Console.ReadLine();
}
private static int add(int i,int j)
{
try
{
Console.WriteLine("haha1");
return i + j;
Console.WriteLine("haha2");
}
finally
{
Console.WriteLine("haha3");
}
}
}
執行的結果是:
haha1
haha3
3
這樣如果我們一個函數中,有多個地方都要返回,我們就可以統一把資源的釋放放在finally中完成。而不用再每一個return前都釋放。