C#值传递和引用传递

1.值传递在函数中该更了变量的值,函数外原来变量的值不变

   如果传递的是class,在函数内部为形参重新赋值新对象,形参指向了新的堆空间,而实参还指向原来的堆空间,所以不会影响函数外变量的值

 

2.引用传递

 如果传递的形参在函数内部没有重新赋值新对象,此时形参实参指向同一块堆空间,修改形参指向的堆的内容,那么实参也会改变会影响函数外原来变量的值

 调用函数时加"ref"关键字表示传引用,此时实参和形参是同一个,如果在函数内部改变了形参那么实参也会改变.

posted @ 2019-01-08 16:58  屋檐不懂雨  阅读(801)  评论(0编辑  收藏  举报