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

//调用函数
//函数原返回值与参数中均得到返回的值
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;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-12-16
1.用类或者结构体去作为返回类型.
public class abc
{
public int Id;
public string Name;
}

public abc GetUser()
{
//....
return abc;
}

2. out 参数.

public int GetUser(out string Name)
{
Name = "vvvvvvvvvv";
return Id;

}本回答被提问者采纳
第2个回答  2009-08-18
可以使用引用类型和输出类型解决这个问题,在C#基础教程上有详解!out或者ref
其实你还可以使用引用类型对象,例如:以class或者struct进行对象传递!
第3个回答  2009-08-19
返回多个值
不如这样好了把多个值放到数组里返回函数
返回值是类型不是数量的概念!
void 或有int string等
不知道你是不是这个意思!!!
返回多个值
返回多个值
没听过!!
第4个回答  2009-08-18
很简单的,用数组作为函数的返回类型。例如:
public Object[] myFunction()
{
//Your statements here;
return XXXX;//随便什么都行。
}
相似回答