马上加入IBC程序猿 各种源码随意下,各种教程随便看! 注册 每日签到 加入编程讨论群

C#教程 ASP.NET教程 C#视频教程程序源码享受不尽 C#技术求助 ASP.NET技术求助

【源码下载】 社群合作 申请版主 程序开发 【远程协助】 每天乐一乐 每日签到 【承接外包项目】 面试-葵花宝典下载

官方一群:

官方二群:

[转]一个方法返回多个值C#

  [复制链接]
查看7241 | 回复5 | 2014-2-25 17:47:36 | 显示全部楼层 |阅读模式
C#中有两种方法可以在函数中返回多个值,关键字是out和ref。


代码示例:


[C#] 纯文本查看 复制代码
static void Main(string[] args)
{
//声明
int value;
string strOutValue;

//调用函数
//函数的参数有两个返回的值
ReturnMulValue(out strOutValue,out value);

Console.WriteLine("Call ReturnMulValue(out string strOut, out int i)");
Console.WriteLine("value = {0:N}", value);//value = 1.00
Console.WriteLine("Out string value = " + strOutValue); //Out string value = out function


//调用函数 [url=http://www.cnblogs.com/roucheng/]http://www.cnblogs.com/roucheng/[/url]
//函数原返回值与参数中均得到返回的值
value = ReturnMulValue(out strOutValue);

Console.WriteLine("Call ReturnMulValue(out string strOut)");
Console.WriteLine("value = {0:N}", value);//value = 2.00
Console.WriteLine("Out string value = " + strOutValue);//Out string value = out function 2

//声明
int[] outArr;
//调用函数
//函数返回数组
ReturnMulArr(out outArr, out value);

Console.WriteLine("Call ReturnMulArr(out int[] arr, out int i)");
Console.WriteLine("value = {0:N}", value);//value = 3.00
Console.WriteLine("Out arr value ");

for (int j = 0; j < outArr.Length; j++)
{
Console.Write(outArr[j]);//12345
}
}

/// <summary>
/// 返回多个值,原函数返回空
/// </summary>
/// <param name="strOut">使用out关键字返回的字符串</param>
/// <param name="i">使用out关键字返回的数值</param>
static void ReturnMulValue(out string strOut, out int i)
{
i = 1;
strOut = "out function";
}

/// <summary>
/// 返回多个值,原函数返回数值
/// </summary>
/// <param name="strOut">使用out关键字返回的字符串</param>
/// <returns>原函数直接返回的数值</returns>
static int ReturnMulValue(out string strOut)
{
int i = 2;
strOut = "out function 2";
return i;
}


/// <summary>
/// 返回数组
/// </summary>
/// <param name="arr">使用out关键字返回的数组</param>
/// <param name="i">使用out关键字返回的数值</param>
static void ReturnMulArr(out int[] arr, out int i)
{
arr = new int[5] { 1, 2, 3, 4, 5};
i = 3;
}

相关帖子

ibcadmin | 2014-2-25 17:53:48 | 显示全部楼层
已设精华
C#论坛 www.ibcibc.com IBC编程社区
C#
C#论坛
IBC编程社区
tyhj281 | 2014-3-17 19:00:29 | 显示全部楼层
学习学习
神神神 | 2014-3-29 09:57:27 | 显示全部楼层
学习了,新人膜拜大师
飞/可爱朋 | 2014-5-7 23:36:04 | 显示全部楼层
第一个函数和第三个函数有点类似了,只不过一个是返回string一个是返回数组32个赞
小绵羊 | 2016-10-16 16:15:25 | 显示全部楼层
你好,如果函数中有两个值需要返回,该怎么解
*滑块验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则