参数之惑——传递的艺术

参数基础:

参数其实实现的是不同方法间的数据传递,也就是信息交换(所以参数一般用于方法)
实参:调用方法的参数(mystring);
string mystring = “this is your argument”
ShowString(mystring );
形参:被调用方法的参数(astr)
private static void ShowString(string astr)
{
Console.writeline(astr)
}


传递的基础:

  • 泛型类型参数
    静态泛型:MyGeneric< int >
    动态泛型:MyGeneric< T >(其实就是一个占位符)
    *可变数目参数
    params(用的太少,不细讲)

深入讨论,传递的艺术:

  • 值类型参数的按值传递
    public static void Main()
    {
    int a = 10;
    Add(a);
    Console.WriteLine(a);
    }
    private static void Add(int i)
    {
    i = i+10
    Console.WriteLine(i)
    }
  • 引用类型参数的按值传递(尚不明确
  • 按引用传递之ref和out
    1)重中之重方法定义和方法调用必须同时显示的使用ref或者out
    2)ref 和out关键字将告诉编译器:方法传递的是参数地址,而不是参数本身
    ref和out的区别:ref要求传递之前的参数必须首先显式初始化(使用ref的参数必须是一个实际的对象),而out不需要(可以接受null的对象,然后在调用方法内部完成对象的实体化)。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值