简述下面函数的区别:
private void test(string str){...}
private void test(ref string str){...}
private void test(out string str){...}
private void test(string str){...}
private void test(ref string str){...}
private void test(out string str){...}
传入string类型参数,无返回值
private void test(ref string str){...}
传入ref string类型参数需要先初始化str
private void test(out string str){...}
传入out string类型参数不用事先初始化str好像是这样
2. private void test(ref string str){...}跟第一个不一样的地方是ref是调用参数的引用而不是值调用。 str在改方法内进行的任何改变都将保存 例如:
string a="100";
test(a);
Console.WriteLine(a); //显示100test(ref a);
Console.WriteLine(a); //显示100200private void test(string str){ str+="200"; }
private void test(ref string str){ str+="200"; }3. private void test(out string str){...} 表示参数传入前可以不给定义。例如: string a;
test(out a); test(out a){...}
假如没有out参数 则编译出错,提示a没有定义初始值。
out跟ref的区别就是out不用初始化
out 跟ref的区别就是变量传入之前不需要赋值
传入ref string类型参数需要先初始化str
传入out string类型参数不用事先初始化str