00110 方法和传递参数_ref和out的用法陈利娥博文http://blog./cle8cle
ref和out的应用
要深刻理解ref和out的应用,
不仅从语法的角度,更要从面向对象【OO】的角度去理解和把握。
一、首先应该真正理解“方法”
方法:
1、语法的角度:略
2、OO的角度:方法是对现实行为或操作的一种模拟
比如:学生的上课,考试,面试等行为都可以用方法来模拟,
【方法包含普通方法,虚方法,抽象方法,……】
二、这里我们要重点讨论方法的返回值
1、有些方法不需要返回值,比如:
实例1:我今天心情好,下班后去逛超市,但是不买任何东西
实例1分析:
方法构成
不需要花钱
方法无参数
不买任何东西
方法无返回值
实例1可以用以下方法来模拟
void 逛超市()
{
//随意逛逛
}
2、有些方法需要返回值也需要参数,比如:
实例2:我今天下班后去超市买一箱牛奶
实例2分析:
方法构成
需要花*出*钱
方法有参数
买*回*一箱牛奶
方法有返回值
实例2可以用以下方法来模拟
int 逛超市(double 钱)
{
//花*出*钱
return 一箱牛奶;
}
三、ref ,out的用法
对于
实例2:我今天下班后去超市买一箱牛奶
实际我们有很多模拟的方式,如:方式1,方式2,方式3
方式1:用*有*参数*有*返回值的方法来模拟,如上
方法构成
需要花*出*钱
方法有参数,用一个参数{默认参数,传入值}
买*回*一箱牛奶
方法有返回值{用return返回值,传出值}
方式2:用*有*参数*没有*返回值的方法来模拟,让函数增加一个out参数,
让这个参数起到返回值的作用即传出值。
方法构成
需要花*出*钱
方法有参数, 一个为默认参数{传入值}
另一个为out参数{传出值}
买*回*一箱牛奶
方法有返回值{不用return返回值,
而用out参数返回值,传出值}
实例2还可以用以下方法来模拟:
void 逛超市(float 钱, out int 买的东西)
{
//花*出*钱
买的东西= 一箱牛奶;
}
方式3:方式2模拟这件事情用了两个参数,能不能少用一个参数呢。
只用一个参数既起到传入也起到传出值的作用。OK!选用ref 参数
方法构成
需要花*出*钱
方法有参数, 只有一个ref参数{传入值和传出值}
买*回*一箱牛奶
方法有返回值{不用return返回值,
而用ref参数返回值,传出值}
实例2还可以用以下方法来模拟:
void 逛超市(ref double 钱_买的东西)
{
//花*出*钱
钱_买的东西= 一箱牛奶;
}
四、ref ,out何时用,用在哪里
1、是一种可选的解决方案:
做一件事情,往往有很多方法可以选择,如果一个方法需要返回值,我们可以选择ref或out参数,如上面的例子。
如果只需要方法传出值,选out参数即可
如果需要方法既传入值也传出值,选ref参数
2、是一种最好的解决方案:
比如:某人面试了一家单位,他不但想知道是否要他,还想知道要他或不要他的原因
再如:连接数据库,想知道连接是否成功,如果连接不成功,还想知道不成功的原因
生活中实例多如牛毛:去超市买东西,交给收款员货币,你
00110 方法和传递参数 ref和out的用法 来自淘豆网m.daumloan.com转载请标明出处.