【KK学习笔记】c# 参数修饰符 out ref params

out 修饰符

下面的例子中

        static void Main(string[] args)
        {
            int res,x,y;
            x = 10;
            y = 10;
            modifinersOut(out x, out y,out res);
            Console.WriteLine("out x:{0} y:{1} res:{2}", x,y,res);
            Console.ReadKey();
        }
        static void modifinersOut(out int x ,out int y ,out int res)
        {
            x = 11;
            y = 11;
            res = x + y;
        }

输出结果:x:11 y:11 res:22

可以通过没有返回值的方式,直接给带有out修饰符的变量赋值。但是必须要在里面给他赋值,不然系统就会报错

如果将参数中x y前面的out去掉。在把x y的赋值语句给屏蔽掉,res则等于20。


ref修饰符


            string s1 = "ok";
            string s2 = "ko";
            Console.WriteLine("调用前s1:{0},s2{1}", s1, s2);
            modifinersRef(ref s1, ref s2);
            Console.WriteLine("调用后s1:{0},s2{1}", s1, s2);

static void modifinersRef(ref string s1, ref string s2)
        {
            string temp = s1;
            s1 = s2;
            s2 = temp;
        }

输出结果:

调用前s1:ok s2:ko

调用后s1:ko s2:ok

个人理解就是使用了ref参数后,例如 如果有多次交换动作时,我们可以不用返回参数,直接将需要变量给他之后直接调用就好了,就不需要在写返回值了,这样看来应该在变量的生命周期里面都是可以直接调用和修改变量的值的


params修饰符

params修饰符就是用于支持参数使用数组。

例如定义一个方法

static int avg(params int[] a)//算平局只

{

……//省略

}

调用时就可以直接这样写avg(1,2,3,4,5)


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值