C#学习笔记之有趣的关键字

作者: Babybus_Unity | 来源:发表于2015-12-17 15:53 被阅读92次

因为在大学期间没有真正意义的学习C#语言,我决定在这一段时间好好的了解并学习C#语言,今天看到了一些我以前没有见过的东西,拿出来分享一下

params

这个关键字很有趣,代码如下:

static int SumVals(params int[] vals)

    {

        int sum = 0;

        foreach(int a in vals)

        {

            sum += a;

        }

        return sum;

    }

    static void Main(string[] args)

    {

        int[] a = {1,3,5,7};

        int sum = SumVals(a);

        Console.WriteLine("Summed Values = {0}", sum);

        Console.ReadKey();

    }

这个关键字可以存很多的参数。

ref和out

这两个关键字和C++的取地址符号的作用很像,比如

c++: void doubleNum(int &e);

c# : static void doubleNum(ref int e1) or static void doubleNum(out int e2)

但是,ref关键字中的e1必须经过初始化,在函数中,任何修改e1的行为都会改变e1,相当于传递“引用”参数这种感觉,和上面c++的作用差不多,不过非常量的参数是不合法的,假设e1是 const int e1 = 1;这样就是非法的。

out的参数可以是未被初始化的,如果参数被初始化且赋值,一般情况下那个值会丢失,并且在函数中是通过赋值的形式改变其参数的,比如e2 =1;这样,假设一个函数是这样的 static void doubleNum(out int x,out int y),那么是不允许x=y这种行为的。

补C#真麻烦,好困 睡觉了

相关文章

网友评论

    本文标题:C#学习笔记之有趣的关键字

    本文链接:https://www.haomeiwen.com/subject/okdphttx.html