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; // 等于当前时间的秒数
        }
    }
}
原文地址:https://www.cnblogs.com/gme5/p/11798665.html