日期:2014-05-17 浏览次数:20388 次
public void text1(string str){} public void text2(ref string str){} public void text3(out string str){} public void test() { string myString; text1(myString); text2(ref myString); text3(out myString); } 1、调用text1方法随便怎么都可以调用,在text1方法中改变str的值不会影响test方法中myString的值。 2、而调用text2方法,则必须要先给myString赋值才能掉用,否则无法编译通过。在text2方法中改变str的值,test方法中myString也会同时被改变。 3、调用text3则可以不给myString赋值,但是在text3方法中必须为str赋值,否则无法编译通过。同时,在text3方法中改变str的值,test方法中的myString的值也会被改变。