C#学习笔记-方法参数params、ref和in、out

C#中ref和out关键字的应用以及区别。
官方文档
编写安全有效的 C# 代码

  1. params 指定此参数采用可变数量的参数。
  2. in 指定此参数由引用传递,但只由调用方法读取。
  3. ref 指定此参数由引用传递,可能由调用方法读取或写入。
  4. out 指定此参数由引用传递,由调用方法写入。

params

使用 params 关键字可以指定采用数目可变的参数的方法参数。

用法

  1. 参数类型必须是一维数组。
  2. 在方法声明中的 params 关键字之后不允许有任何其他参数(params参数必须是参数表的最后一个参数)。
  3. 并且在方法声明中只允许有一个 params 关键字(不允许将params修饰符与ref和out修饰符组合起来使用)。
  4. 果 params 参数的声明类型不是一维数组,则会发生编译器错误 CS0225。
  5. 使用 params 参数调用方法时,可以传入:
    (1)数组元素类型的参数的逗号分隔列表;
    (2)指定类型的参数的数组;
    (3)无参数。 如果未发送任何参数,则 params 列表的长度为零。
  6. 若实参是数组则按引用传递,若实参是变量或表达式则按值传递。
public class MyClass
{
   
    public static void UseParams(params int[] list)
    {
   
        for (int i = 0; i < list.Length; i++) Console.Write(list[i] + " ");
        Console.WriteLine();
    }

    public static void UseParams2(params object[] list)
    {
   
        for (int i = 0; i < list.Length; i++) Console.Write(list[i] + " ");
        Console.WriteLine();
    }

    static void Main()
    {
   
        UseParams(1, 2, 3, 4);
        UseParams2(1, 'a', "test");
        UseParams2();
        int[] myIntArray = {
    5, 6, 7, 8, 9 }
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值