finally return 分析

来源:互联网 发布:威斯盾断桥铝 知乎 编辑:程序博客网 时间:2024/05/22 17:49
protected int GetNum(){    int i = 1;    try    {        i = 5;        return i;    }    finally    {        i += 1;    }}//输出结为: 5  测试于 2006-11-10
protected System.Text.StringBuilder GetString(){    System.Text.StringBuilder str = new System.Text.StringBuilder("a");    try    {        str.Append("b");        return str;    }    finally    {        str.Append("c");    }}//输出结果为: abc  测试于 2006-11-10


这段代码可以延伸出两个知识点:

1:try里包含了 return时,执不执行 finally,要执行什么时候执行?

  会执行,在return之间执行。

2:值类型与引用类型,在做赋值操作时的区别是什么?

  值类型在为同一个变量赋值时,会新开一个存储空间。

     引用变量在赋值时,只是对堆进行操作,栈的指针没有变化。

 




0 0
原创粉丝点击