C#没有了全局变量的概念,我们只能通过static来共享变量。
如何传入引用变量,例子:
函数的声明需要有ref关键字:public static void a(ref int i){}
函数的调用也需要有ref关键字:a(ref 4);
带输出参数的方法,例子:
函数的声明需要有out关键字,参数需要在这函数里面初始化:public static void b(out int i){}
函数的调用也需要有out关键字:b(out 4);
在C#中调用ref与调用out的效果一样,不同是他们初始化的时间不同,ref需要在调用之前赋值,然而out需要在调用方法中赋值。
为了将方法声明为可以接受可变数量参数的方法,使用params关键字,例子如下:
声明方法:static int addi(params int[] values){} //必须是数组类型
调用时:addi(1,2,3);
字符串string也是引用类型,但是为什么结果却是值传递的呢?
因为字符串从赋值起就是固定的,不能修改内容与长度,所以在传值的时候是创建了一个副本来进行操作。