方法和传递参数_ref和out的用法详细讲解

方法和传递参数_ref和out的用法详细讲解

ID:12736040

大小:68.50 KB

页数:4页

时间:2018-07-18

方法和传递参数_ref和out的用法详细讲解_第1页
方法和传递参数_ref和out的用法详细讲解_第2页
方法和传递参数_ref和out的用法详细讲解_第3页
方法和传递参数_ref和out的用法详细讲解_第4页
资源描述:

《方法和传递参数_ref和out的用法详细讲解》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、ref和out的应用要深刻理解ref和out的应用,不仅从语法的角度,更要从面向对象【OO】的角度去理解和把握。一、首先应该真正理解“方法”方法:1、语法的角度:略2、OO的角度:方法是对现实行为或操作的一种模拟比如:学生的上课,考试,面试等行为都可以用方法来模拟,【方法包含普通方法,虚方法,抽象方法,……】二、这里我们要重点讨论方法的返回值1、有些方法不需要返回值,比如:实例1:我今天心情好,下班后去逛超市,但是不买任何东西 实例1分析:方法构成不需要花钱方法无参数不买任何东西方法无返回值实例1可以用以下方法来模

2、拟void逛超市(){//随意逛逛}2、有些方法需要返回值也需要参数,比如:实例2:我今天下班后去超市买一箱牛奶实例2分析:方法构成需要花*出*钱方法有参数买*回*一箱牛奶方法有返回值实例2可以用以下方法来模拟int逛超市(double钱){//花*出*钱return一箱牛奶;}三、ref,out的用法对于实例2:我今天下班后去超市买一箱牛奶实际我们有很多模拟的方式,如:方式1,方式2,方式3方式1:用*有*参数*有*返回值的方法来模拟,如上方法构成需要花*出*钱方法有参数,用一个参数{默认参数,传入值}买*回*一

3、箱牛奶方法有返回值{用return返回值,传出值}方式2:用*有*参数*没有*返回值的方法来模拟,让函数增加一个out参数,让这个参数起到返回值的作用即传出值。方法构成需要花*出*钱方法有参数,一个为默认参数{传入值}另一个为out参数{传出值}买*回*一箱牛奶方法有返回值{不用return返回值,而用out参数返回值,传出值}实例2还可以用以下方法来模拟:void逛超市(float钱,outint买的东西){//花*出*钱买的东西=一箱牛奶;}方式3:方式2模拟这件事情用了两个参数,能不能少用一个参数呢。只用一个

4、参数既起到传入也起到传出值的作用。OK!选用ref参数方法构成需要花*出*钱方法有参数,只有一个ref参数{传入值和传出值}买*回*一箱牛奶方法有返回值{不用return返回值,而用ref参数返回值,传出值}实例2还可以用以下方法来模拟:void逛超市(refdouble钱_买的东西){//花*出*钱钱_买的东西=一箱牛奶;}四、ref,out何时用,用在哪里1、是一种可选的解决方案:做一件事情,往往有很多方法可以选择,如果一个方法需要返回值,我们可以选择ref或out参数,如上面的例子。如果只需要方法传出值,选o

5、ut参数即可如果需要方法既传入值也传出值,选ref参数2、是一种最好的解决方案:比如:某人面试了一家单位,他不但想知道是否要他,还想知道要他或不要他的原因再如:连接数据库,想知道连接是否成功,如果连接不成功,还想知道不成功的原因生活中实例多如牛毛:去超市买东西,交给收款员货币,你得到的不仅是要买的物品,还有找零,赠品,,,,总之,当一个函数需要返回多种不同类型值的时候,往往可以使用ref,out参数,如boolCon_DB_Cle(stringconStr,refstringwhy){try{//why="";re

6、turntrue;}catch(Exceptione){//why=e.ToString();returnfalse;}}五、ref,out用在哪里,让我们看看类库,类库用的不多啊!!例子1:System..::.Uri.TryCreate方法:..::使用指定基和相对Uri实例创建一个新的Uri。如果成功创建了Uri,则方法返回值为true;否则为false。publicstaticboolTryCreate(UribaseUri,UrirelativeUri,outUriresult//此方法返回时,包含从ba

7、seUri和relativeUri构造的Uri)publicstaticboolTryCreate(stringuriString,UriKinduriKind,outUriresult)例子2:protectedoverrideboolSystem.Data.SqlClient.SqlDataAdapter.GetBatchedRecordsAffected(intcommandIdentifier,outintrecordsAffected,outSystem.Exceptionerror)六、ref,out的

8、使用原则【依据VS.NET2008msdn>.NETFramework开发人员指南】方法参数可以通过值,通过引用传递,也可以作为输出参数传递。通过值传递参数时,方法获取调用方数据的副本,但不能改变调用方的数据副本。通过引用传递参数时,方法获取指向调用方数据的指针。此数据与调用方共享。如果方法对引用参数做出更改,则这些更改是对调用方的数据进行的。使用引用参数时

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。