悬赏分:10 浏览:168 次
1..try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后?
答:会执行,在return前执行。
但是我调试时,是在return后执行的,这是我的调试代码:
YeShu.BLL.Dictionary_Type bll = new YeShu.BLL.Dictionary_Type();
try
{
int i = bll.Add(TextBox1.Text.Trim());
Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "aa", " + "')", true);
return 2;
}
finally
{
bll = null;
}
2.swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上?
答:switch(expr1)中,expr1是一个整数表达式。因此传递给 switch 和 case 语句的参数应该是 int、 short、 char 或者 byte。long,string 都不能作用于swtich。
但是我测试时long和string都可以,测试代码:
private void bb(string str)
{
switch (str)
{
case "1":
Response.Write("aaa1");
break;
case "2":
Response.Write("aaa2");
break;
default:
Response.Write("aaat");
break;
}
}
到底是我测试出错了,还是答案是错误的
|
1个月前 chunfeng : 但是我调试时,是在return后执行的,为什么呢 |
|
1个月前 chunfeng : 是不是一定要看汇编代码,才能得出正确答案 |
|
1个月前 eaglet : 调试高级语言代码,往往不能得到正确流程,存在很多情况,比如某些优化也会导致流程不一样,汇编代码的流程是最准确的。 |