out关键字用于将参数作为引用类型传递给方法,主要用于方法必须返回多个值时。ref关键字还用于将参数作为引用类型传递给方法,并且在要在方法中修改现有变量时使用。以下是C#中ref和out关键字的有效用法。
using System.IO; using System; public class Program { public static void update(out int a){ a = 10; } public static void change(ref int d){ d = 11; } public static void Main() { int b; int c = 9; Program p1 = new Program(); update(out b); change(ref c); Console.WriteLine("Updated value is: {0}", b); Console.WriteLine("Changed value is: {0}", c); } }
输出结果
Updated value is: 10 Changed value is: 11
以下是ref和out关键字之间的一些重要区别。
序号 | 键 | ref关键字 | out关键字 |
---|---|---|---|
1 | 目的 | 当调用的方法必须更新传递的参数时,将使用ref关键字。 | 当调用的方法必须更新传递的多个参数时,将使用out关键字。 |
2 | 方向 | ref关键字用于双向传递数据。 | out关键字用于单向获取数据。 |
3 | 初始化 | 在将变量作为ref传递之前,需要先对其进行初始化,否则编译器将引发错误。 | 如果使用out关键字,则无需初始化变量。 |
4 | 初始化 | 在被调用的方法中,不需要初始化作为ref传递的参数。 | 在被调用的方法中,需要初始化作为out传递的参数。 |