包含在try中的return返回后,仍然会执行finally中的代码

来源:互联网 发布:以太网调试软件 编辑:程序博客网 时间:2024/04/30 15:11

比如下面代码:

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前都释放。

原创粉丝点击