关键字

out, in, ref 关键字

+ out, in, ref 关键字
  1. ref 指定引用传递, 修饰的参数变量需要初始化, 参数在方法中可以修改或不修改.
  2. out 指定引用传递, 修饰的参数变量无需初始化, 参数在方法中必须赋值.
  3. in 指定引用传递, 修饰的参数变量需要初始化, 参数在方法中不能修改.
using System;
 
class Program
{
    static void Main(string[] args)
    {
        int refNumber = 10;
        RefFunction(ref refNumber);
        Console.WriteLine("refNumber is " + refNumber);
        //Output: refNumber is 20
 
        int outNumber;
        OutFuntion(out outNumber);
        Console.WriteLine("outNumber is " + outNumber);
        //Output: outNumber is 50
 
        int inNumber = 100;
        InFunction(in inNumber);
        //Output: inNumber is 100
 
        Console.ReadKey();
    }
 
    static void RefFunction(ref int number)
    {
        number = number + 10;
    }
 
    static void OutFuntion(out int number)
    {
        number = 50;
    }
 
    static void InFunction(in int number)
    {
        Console.WriteLine("inNumber is " + number);
    }
}