本帖最后由 秦敖 于 2012-10-18 12:53 编辑
楼主的意思是想有两个返回值,"分别保存在两个输出参数中",这是楼主自己表达的啊?所以这里要用out来实现。比如我们经常用的一个方法:int.TryParse(string s,out int value);就是典型的一个返回两个参数的方法。按我理解的实现方法如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace 多返回值问题
{
class Program
{//编写c#控制台应用程序,在其中定义方法calculate,他可以接受一个double[]数组的输入参数,
//计算数组所有元素的和与积,并分别保存在两个输出参数中。
static void Main(string[] args)
{
//定义一个double类型的数组
double[] Num = { 1.1,2.2,3.3,4.4,5.5,6.6,7.7,8.8,9.9,10};
//Sum用于接受默认返回值(和),Fac用于接受另一个返回值(积)
double Sum, Fac;
//调用Calculate方法。
Sum = Calculate(Num, out Fac);
Console.WriteLine("数组的和为:{0},数组的积为:{1}",Sum,Fac);
Console.ReadKey();
}
/// <summary>
/// 计算double数组的和与差,涉及多返回值,默认返回"和","积"用out方式返回。
/// </summary>
/// <param name="Num"></param>
/// <param name="Fac"></param>
/// <returns></returns>
static double Calculate(double[] Num, out double Fac)
{
double Sum = 0;
Fac = 1;
for (int i = 0; i < Num.Length; i++)
{
Sum += Num;//累加
Fac *= Num;//累乘
}
return Sum;//默认返回"和"
}
}
} |