当前位置:首页 > Windows程序 > 正文

c#中关键词out和ref的区别

2021-03-25 Windows程序

c#中关键词out和ref用来表明以传引用的方式传递参数。

区别如下:

如果方法的参数用out标记,表示方法被调用前不需初始化参数,方法内不能读取此参数的值,,在方法返回前必须向此参数写入值;

如果方法的参数用ref标记,表示方法被调用前必须初始化参数,在方法内部可以读取或者读写此参数,也可不对此参数做任何处理。

out事例:

class Program { static void Main(string[] args) { int val; //无需初始化 GetValue(out val); Console.WriteLine(val); } public static void GetValue(out int a) { a = 20; //必须赋值 } }

最后val的输出值为20

ref事例:

class Program { static void Main(string[] args) { int val=5; //必须初始化 GetValue(ref val); Console.WriteLine(val); } public static void GetValue(ref int a) { a += 20; //可以读写,也可不对此参数做任何处理 } }

最后val的输出值为25

注:上面的两个例子,我操作的都是的值类型,对于引用类型,一样可以使用out和ref关键词。

温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/67193.html