什么是按引用传递和按值传递?

什么是按引用传递和按值传递?

1、值类型按引用传递,使用 ref 关键字,参数结果会传递外层。

如:

static void SetDefault(ref int s)  
{
      s=1;
} 

static void Test()  
{
      int s=0;
      SetDefault(ref s);//s=1
} 

注意 string 为引用类型,

所以注意字符串扩展方法不会改变其本身。

2、引用类型按值传递。

传递的是变量,若更改变量的引用地址,无法传递。

如下经典错误:

static void CreateInstance(objcet obj)  
{
      if(obj==null)
      {
         obj=new object();
      }
 } 

更改变量属性,可以传递。

猜你喜欢

转载自www.cnblogs.com/zhuwansu/p/9361271.html
今日推荐