• 技术文章 >后端开发 >C#.Net教程

    C#难点逐个击破(2):out返回参数

    黄舟黄舟2016-12-22 14:05:06原创643
    传值(by value)与传址(by reference)分别为普通传递参数方式与ref声明方式,传址方式在使用前需要ref关键词修饰;out为输出返回传递,与ref相同之处较多,其重要区别是在上一节讲到的ref在被引用方法中必须被初始化;out在被引用方法中一定要有返回值。

    using System; 
    
    /****************************** 
    * Chapter:C#难点逐个击破(一) 
    * Author:王洪剑 
    * Date:2010-1-15 
    * Blog:http://www.51obj.cn/ 
    * Email:walkingp@126.com 
    * Description:重点讲解输出参数out 
    * ***************************/ 
    namespace TestOut 
    { 
    class Program 
    { 
    /// <summary> 
    /// out的输出值、返回值 
    /// </summary> 
    /// <param name="name"></param> 
    /// <returns></returns> 
    static string OutResultMethod(out string name) 
    { 
    string _name = "Wang Hongjian"; 
    name = _name; 
    string __name = "Zheng Zi"; 
    return __name; 
    } 
    static void Main(string[] args) 
    { 
    string _name = "Zhang Yu"; 
    Console.WriteLine("调用前:{0}", _name); 
    string result= OutResultMethod(out _name); 
    Console.WriteLine("调用后:{0}",_name); 
    Console.WriteLine("返回结果:{0}",result); 
    Console.ReadKey(); 
    } 
    } 
    }

    运行结果:

    112.png

    php入门到就业线上直播课:进入学习

    out在实际项目中使用较多,这是因为out可以返回多个值

    class Program 
    { 
    /// <summary> 
    /// out的输出值、返回值 
    /// </summary> 
    /// <param name="name"></param> 
    /// <returns></returns> 
    static string OutResultMethod(out string name,out string password) 
    { 
    string _name = "Wang Hongjian"; 
    name = _name; 
    string _password = "123456"; 
    password = _password; 
    string __name = "Zheng Zi"; 
    return __name; 
    } 
    static void Main(string[] args) 
    { 
    string _name = "Zhang Yu"; 
    string _password; 
    Console.WriteLine("调用前:{0}", _name); 
    string result = OutResultMethod(out _name, out _password);//多个参数传递 
    Console.WriteLine("调用后:{0}",_name); 
    Console.WriteLine("返回结果:{0}",result); 
    Console.ReadKey(); 
    } 
    }

    联想多个参数,你一定想到了使用数组吧,不错,使用数组是个很好的方式,数组本身把同一类型的参数打包“封装"为一个对象传递给方法,这样可以简化多参数方法的编写,还能实现类似重载的效果。

    static void OutArrayMethod(out string[] strArr) 
    { 
    int i = 0; 
    string[] _strArr = new string[10]; 
    while (i < _strArr.Length) 
    { 
    _strArr[i] = "第" + i + "个成员"; 
    i++; 
    } 
    strArr = _strArr; 
    } 
    static void Main(string[] args) 
    { 
    string[] _strArr=new string[10]; 
    OutArrayMethod(out _strArr); 
    foreach (string str in _strArr) 
    { 
    Console.WriteLine(str); 
    } 
    Console.ReadKey(); 
    }

    运行效果:

    113.png

    以上就是C#难点逐个击破(2):out返回参数的内容,更多相关内容请关注PHP中文网(m.sbmmt.com)!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

    前端(VUE)零基础到就业课程:点击学习

    清晰的学习路线+老师随时辅导答疑

    自己动手写 PHP MVC 框架:点击学习

    快速了解MVC架构、了解框架底层运行原理

    专题推荐:C#,out返回参数
    上一篇:C#难点逐个击破(1):ref参数传递 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • ❤️‍🔥共22门课程,总价3725元,会员免费学• ❤️‍🔥接口自动化测试不想写代码?• c语言中源文件编译后生成什么文件• c语言本身有没有输入输出语句• c语言中的标识符是由什么组成• c语言中关键字有多少个• c语言中case是什么意思
    1/1

    PHP中文网