C#中的ref out

1.都是按引⽤类型进⾏传递

2.属性不是变量不能作为out、ref参数传递

3.ref参数必须初始化。out不需要初始化

4.作⽤,当⽅法有多个返回值时,out⾮常有⽤ 

static void Main(string[] args)
{
    //会报错,因为i,j没有赋值
    //int i; int j;
    //RefTest(ref i, ref j);

    int i=1; int j=2;
    RefTest(ref i,ref j);
    Console.WriteLine($"i={i.ToString()};j={j.ToString()}");
    int k;int l;
    OutTest(out k,out l);
    Console.WriteLine($"k={k.ToString()};l={l.ToString()}");

    Console.ReadLine();
}
static void RefTest(ref int i,ref int j)
{
    i = 3; j=4;
}
static void OutTest(out int i, out int j)
{
    //必须在退出前给i,j赋值
    i= 0;
    j= 1;
}

 

posted @ 2023-01-29 21:00  守护月亮的星星  阅读(50)  评论(0)    收藏  举报