您的位置:首页 > 编程语言 > C#

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

2012-10-15 22:49 323 查看
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)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c# string