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