C#引用参数和输出参数
引用参数,关键字ref。因为在函数中参数值会被改变,所以传入的变量类型不能是常量。传入的变量也必须初始化值。
栗子:
using System; namespace MyConsoleApp { internal class Program { private static void Main() { var value = 10; ChangeValue(ref value); Console.WriteLine(value); // 20 } private static void ChangeValue(ref int value) { value += 10; } } }
输出参数,关键字out。out参数可以使用未赋值的变量。函数使用out参数时,也必须把它看成尚未赋值。在函数执行完成之前也必须赋值!
using System; namespace MyConsoleApp { internal class Program { private static void Main() { int value; ChangeValue(out value); Console.WriteLine(value); } private static void ChangeValue(out int value) { value = DateTime.Now.Second; // 等于当前时间的秒数 } } }