急C#有关问题,请大家指点以下,面试用到的! - ASP.NET当前位置:& &&&急C#有关问题,请大家指点以下,面试用到的!急C#有关问题,请大家指点以下,面试用到的!&&网友分享于:&&浏览:4次急求一个C#问题,请大家指点以下,面试用到的!!简述下面函数的区别:
private & void & test(string & str){...}
private & void & test(ref & string & str){...}
private & void & test(out & string & str){...}------解决方案--------------------private void test(string str){...}
传入string类型参数,无返回值
private void test(ref string str){...}
传入ref string类型参数需要先初始化str
private void test(out string str){...}
传入out string类型参数不用事先初始化str
好像是这样
------解决方案--------------------1.
private void test(string str){...} 定义一个私有属性的 没有返回值得 带一个string参数的方法
private void test(ref string str){...}跟第一个不一样的地方是ref是调用参数的引用而不是值调用。 str在改方法内进行的任何改变都将保存 例如:
string a= &100 &;
Console.WriteLine(a);
test(ref a);
Console.WriteLine(a);
//显示100200
private void test(string str){ str+= &200 &; }
private void test(ref string str){ str+= &200 &; }
private void test(out string str){...} 表示参数传入前可以不给定义。
test(out a);
test(out a){...}
假如没有out参数 则编译出错,提示a没有定义初始值。
------解决方案--------------------Iceguy(Snow)正解
out跟ref的区别就是out不用初始化
------解决方案--------------------out另外一个作用是可以在一个函数中返回多个参数。
such as : out string A,out string B 同时作为函数test(out string A ,out string B)的参数,在函数内赋值。
则一旦执行了test函数,A B的就都有值。
------解决方案--------------------ref 的参数为引用参数,变量被传进去修改后能把修改后的值保存下来,但改变量必须在传入之前赋值。
out 跟ref的区别就是变量传入之前不需要赋值
------解决方案--------------------第一个是值传递 在传递的过程中不会改变原来的值
最后两个是地址传递 会改变原来的值
引用:zhzhuo(编程混饭)
传入ref string类型参数需要先初始化str
传入out string类型参数不用事先初始化str
12345678910
12345678910
12345678910 上一篇:下一篇:文章评论相关解决方案 12345678910 Copyright & &&版权所有