C#难点逐个击破(2):out返回参数
C#难点逐个击破(2):out返回参数
发布时间:2016-12-28 来源:查字典编辑
摘要:传值(byvalue)与传址(byreference)分别为普通传递参数方式与ref声明方式,传址方式在使用前需要ref关键词修饰;out为...

传值(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();

}

}

}

运行结果:

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

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();

}

运行效果:

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

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新C#教程学习
热门C#教程学习
编程开发子分类