C#——参数

  • 传值参数
    传值参数会新建一个存储位置保存传入参数的数据作为副本,方法调用其副本的存储位置

    引用类型的传值参数:由于引用类型变量保存的是对应堆空间的地址。故在方法内部对副本对应的堆空间进行修改会影响实参。而如果使用new操作符不会影响实参变量而会使副本指向new开辟的堆空间
    值类型的传值参数:在方法内部对其赋值不会影响实参,只会修改副本的存储位置对应的数据

  • 输出参数
    用out修饰的声明,不会新建存储位置,在方法返回后,会直接对输出参数对应存储空间数据进行修改

    值类型输出参数:方法返回后,直接对实参数据进行输出覆盖
    引用类型输出参数:同理。同时如果在方法内部new出一个对象也会将其堆空间的地址返回并覆盖给实参

  • 引用参数
    用 ref 修饰声明,不会新建存储位置,使方法直接调用实参变量的存储位置

    值类型引用参数:方法内部可以直接修改对应的实参数据
    引用类型的引用参数:方法内部即使使用new操作符也会影响实参,使其指向new开辟的堆空间

  • 数组参数
    声明时,必须时形参列表的最后一个,且由 params 修饰

    当调用该方法时,可以直接输入数组元素作为参数供方法调用,不需要先定义一个数组

  • 具名参数
    参数的位置不受约束
    调用方法时,用 形参名:实参 的方式 调用
    eg:

class Program
{
    static void Main()
    {
        PrintLine(age:17, name:"zhubajie");
    }
    void PrintMessage(string name, int age)
    {
        Console.WriteLine("I'm {0}, I'm already {1}", name, age);
    } 
}
  • 可选参数
    参数具有默认值,而变得可选
    声明参数时为参数赋值作为默认值, 在调用方法时可以不为该参数赋值
  • 扩展方法(this参数)
    为目标数据类型追加方法
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值