c# 基本知识 ref 和 out
一:首先两者都是引用传递,都是按地址传递的。
二: 区别
(1)ref 默认必须初始化,out 不需要显式初始化。例如:
1 int num1=10; 2 3 int num2; 4 5 refMethod(ref num1); 6 7 outMethod(out num2);
(2)必须在方法返回之前为 out 参数赋值,ref则不是必须的,例如:
1 public static void refMethod(ref int num) 2 { 3 num = 30; //不是必须的 4 } 5 public static void outMethod(out int num) 6 { 7 num = 8; //必须在方法返回之前赋值 8 }
或者说ref是有进有出,out是只出不进 。