日期:2014-05-17 浏览次数:20478 次
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的值也会被改变。