Wu.Country@侠缘

勤学似春起之苗,不见其增,日有所长; 辍学如磨刀之石,不见其损,日所有亏!

导航

2006年2月27日 #

深入剖析引用参数Ref和Out

摘要: 学过C/C++的人,对C#的关键字Ref和Out应该都很好理解。它们都提供了一种可以在被调用函数内修改传递的参数的值的方法。因为这一功能很类似C/C++的指针。对于没学过C/C++的,也应该可以明白这两个参数的作用。 虽然Ref和Out都提供了修改参数值的方法,但它们还是有一点点小的区别。 1、Ref在作为参数调用函数之前,变量一定要赋值,否则会得到一个常规编译错误:使用了未赋值的变量。 2、在被调用函数内,以Ref引入的参数在返回前不必为它赋值。 3、Out在作为参数调用函数之前,变量可以不被赋值。 4、在被调用函数内,以Out引入的参数在返回前一定要至少赋值一次。 其实本质上讲,Ref更适合理解为给被调用函数传递了一个与原参考同地址的变量。而Out则可以理解为在调用函数前,先给变量找个地方,让被调用函数在给定地点放一个值。 阅读全文

posted @ 2006-02-27 10:05 Wu.Country@侠缘 阅读(4079) 评论(49) 推荐(0) 编辑