关于ref和out的详细区别。
2006-07-07 15:31
246 查看
ref和out都是C#中的关键字,所实现的功能也差不多,都是指定一个参数按照引用传递。对于编译后的程序而言,它们之间没有任何区别,也就是说它们只有语法区别。总结起来,他们有如下语法区别:
1、ref传进去的参数必须在调用前初始化,out不必,即:
1int i;
2SomeMethod( ref i );//语法错误
3SomeMethod( out i );//通过
2、ref传进去的参数在函数内部可以直接使用,而out不可:
1public void SomeMethod( ref int i )
2
7public void SomeMethod( out int i )
8
3、ref传进去的参数在函数内部可以不被修改,但out必须在离开函数体前进行赋值。
总结:
应该说,系统对ref的限制是更少一些的。out虽然不要求在调用前一定要初始化,但是其值在函数内部是不可见的,也就是不能使用通过out传进来的值,并且一定要赋一个值。也就是说函数承担初始化这个变量的责任。
1、ref传进去的参数必须在调用前初始化,out不必,即:
1int i;
2SomeMethod( ref i );//语法错误
3SomeMethod( out i );//通过
2、ref传进去的参数在函数内部可以直接使用,而out不可:
1public void SomeMethod( ref int i )
2
7public void SomeMethod( out int i )
8
3、ref传进去的参数在函数内部可以不被修改,但out必须在离开函数体前进行赋值。
总结:
应该说,系统对ref的限制是更少一些的。out虽然不要求在调用前一定要初始化,但是其值在函数内部是不可见的,也就是不能使用通过out传进来的值,并且一定要赋一个值。也就是说函数承担初始化这个变量的责任。
相关文章推荐
- 关于ref和out的详细区别
- 关于ref和out的详细区别
- 关于ref与out的区别
- 关于ref与out的区别
- 关于Ref和Out的区别,附上小例子
- C#中关于Ref和Out的区别,附上小例子
- 关于Ref和Out的区别,附上小例子
- 关于了ref和out的区别
- 关于ref与out的区别
- C#/.NET中关于ref与out的区别
- C# 关键字ref 和out 的详细区别
- DEMO[C#]refKeyword and outKeyword 关于ref与out关键字区别的DEMO
- ref 和 out 的详细区别
- 关于out和ref的区别
- 关于C#中的ref 和 out 关键字的区别
- 在C#中关于传递参数ref和out分别有什么区别
- DEMO[C#]refKeyword and outKeyword 关于ref与out关键字区别的DEMO
- 关于ref和out的区别
- 10 ref 和 out 之间的区别
- c#中out和ref的使用区别 [转]