C# 方法中的 引用参数 ref out 的使用

发布时间 2024-01-13 11:15:19作者: 清和时光

应用于参数声明,以按引用而不是按值传递参数:

ref:在调用方法之前必须初始化参数。 该方法可以将新值赋给参数,但不需要这样做。
out:该调用方法在调用方法之前不需要初始化参数。 该方法必须向参数赋值。

ref 参数修饰符
若要使用 ref 参数,方法定义和调用方法均必须显式使用 ref 关键字

void Method(ref int refArgument)
{
    refArgument = refArgument + 44;
}

int number = 1;
Method(ref number);
Console.WriteLine(number);  // 45

注意:传递到 ref 参数的自变量必须先经过初始化,然后才能传递。
out 参数修饰符
若要使用 out 参数,方法定义和调用方法均必须显式使用 out 关键字。

   public int GetOut(int a,out int num)
        {
            num = a;
            return num+a;
        }

 var res= GetOut(2,out int num);
            Console.WriteLine(res); //4
            Console.WriteLine(num); //2

注意:作为 out 自变量传递的变量在方法调用中传递之前不必进行初始化。 但是,被调用的方法需要在返回之前赋一个值。
out 在方法参数申明,在方法里面赋值,在方法外依然可以获取out变量进行使用。