C#中的ref、out、params关键字
发布日期:2021-06-30 19:57:10 浏览次数:2 分类:技术文章

本文共 1338 字,大约阅读时间需要 4 分钟。

一:引用参数ref

在C#中对于值类型的参数传递,传递的都是值,但是加上ref参数后就变成了引用传递,也就是说没有ref传递的是值,有ref传递的是值的地址

using System;class Test{    //值传递    static void Swap(int x, int y)    {        int temp = x;        x = y;        y = temp;    }    //引用传递(ref或out参数可以进行函数重载)    static void Swap(ref int x, ref int y)    {        int temp = x;        x = y;        y = temp;    }    static void Main()    {        int a = 1;        int b = 2;        Console.WriteLine(a + " " + b);  //1 2        Swap(a, b);        Console.WriteLine(a + " " + b);  //1 2        Swap(ref a, ref b);        Console.WriteLine(a + " " + b);  //2 1    }}

二:输出参数out

out参数与ref参数一样,传递的也是值的引用

using System;class Test{    //引用传递    static void Print(out int x, out int y)    {        x = 10;        y = 20;    }    static void Main()    {        int a = 1;        int b = 2;        Console.WriteLine(a + " " + b); //1 2        Print(out a, out b);        Console.WriteLine(a + " " + b); //10 20    }}

out和ref的比较:

——out和ref参数传递的都是值的引用
——使用ref参数时,传入的参数必须先初始化赋值。使用out参数时,先初始化赋值没有意义,进入函数体内会清空数值,需要在其方法体中初始化赋值
——使用ref和out时,在方法的参数中和执行方法的参数中,都要加ref或out关键字
——out和ref参数可以进行函数重载
——out适合用在需要retrun多个返回值的地方,而ref用在需要引用传递的地方


三:可变参数params

函数中的可变参数多用于数组,也叫做可变参数数组,例如一个函数中需要传入一个数组,我们需要创建一个数组,再传入函数的参数中

使用函数的可变参数可以省去创建数组的过程

使用可变参数需要注意:

——可变参数数组必须为形参列表的最后一个参数
——形参列表中最多只能有一个可变参数数组
——可变参数数组必须是一维数组
——params参数不可以与ref、out一起使用

转载地址:https://liuhaowen.blog.csdn.net/article/details/104111074 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:C#中的多态性
下一篇:C#中的静态变量与非静态变量

发表评论

最新留言

能坚持,总会有不一样的收获!
[***.219.124.196]2024年04月27日 11时23分21秒