您的位置:首页 > 编程语言 > C#

C#流言终结者1(当初入门时的一些小实验)

2015-11-14 03:01 274 查看
小数组赋值给大数组会如何
 
 int[] num = new int[]{1,2,3};
 int[] num2 = new int[]{4,5};
 num2 = num;
 
不会报错,num会变成num2
 
会有这个结果是因为数组int[]
是个引用,赋值只是改变了引用指向。
 
Int[] num
相当于 Array num
 
 
 
 
 
 

为什么触发事件要判断事件是否为空?
   if (OnSalaryCompute != null)
  {
    OnSalaryCompute();      //触发事件
  }
 
OnSalaryCompute
事件本质就是一个委托的List的引用,如果引用为空,调用事件会报错,因此使用前要检查。
 
评:个人认为这一步很多余,微软完全可以帮我们判断节省这部分代码。但是事件为null同时意味着没有人注册事件,这也是个有用的信息,所以事件可以等于null是一件好事。
 
 
 
异常抛出后会导致循环中断吗?
While(true){
 

Try{

//do something to make a exception

//a normal code

}

Catch(Exception e){

//

}

 

//another code
}
 
不会!
代码运行到会抛出异常的地方时会立刻中断调到catch语句,抛出异常的代码后面的逻辑不会运行,catch语句处理完后会继续往下运行。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: