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:值类型与引用类型,在做赋值操作时的区别是什么?
值类型在为同一个变量赋值时,会新开一个存储空间。
引用变量在赋值时,只是对堆进行操作,栈的指针没有变化。