参数类型

ref 引用参数

  • 无法通过函数调用修改一个值类型的实参。

    static void Main(string[] args)
    {
        int a = 1;
        Change(a); // 这相当于Change(1);
        Console.WriteLine(a); // 输出:1
    }
    
    static void Change(int a) // 形参a和实参a是两个不同的变量。
    {
        a = 2; // 这里修改的是形参a,而不是实参a。
    }
    
  • 通过ref参数,可以值类型变量用引用方式传参,这样就可以直接修改实参。
  • 关于值类型与引用类型的更多信息,请参考后续章节。

    static void Main(string[] args)
    {
        int a = 1;
        Change(ref a);
        Console.WriteLine(a); // 输出:2
    }
    
    static void Change(ref int a) 
    {
        a = 2; 
    }
    
  • 引用参数必需要传变量并且在变量前加上ref关键字。
    static void Main(string[] args)
    {
        int a = 1;
        int b = 2;
        Exchange(ref a, ref b);
        Console.WriteLine(a); // 输出:2
    }
    // 交换两个变量的值
    static void Exchange(ref int a, ref int b) 
    {
        int temp = a;
        a = b; 
        b = a;
    }
    

out 输出参数(案例稍后补充)

  • 函数的返回值只能返回一个数据,如果要返回多个数据,有两个解决方案:返回一个结构;使用输出参数。
  • 当函数需要返回多个数据时可以使用输出参数。
  • 输出参数必需要传变量并且在变量前加上out关键字。因为只有变量能存储数据。

results matching ""

    No results matching ""