上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
实例018 求解多个数的乘法运算——函数参数输出
【实例描述】
本实例主要介绍利用out关键字实现函数返回值以及数目可变参数的传递。该实例从控制台输入三个数,然后计算三个数的乘积,最后从控制台输出计算结果,效果如图2-18所示。
图2-18 求解多个数的乘法运算
【实现过程】
(1)创建一个名为Multiplication的控制台应用程序。
(2)定义一个名为GetMultResult的函数,代码如下:
/// 求多个整数的乘积 /// <param name="result">多个整数的乘积</param> /// <param name="numbers">需要求乘积的整数集合</param> public void GetMultResult(out int result, params int[] numbers) { result = 1; //初始值为1 foreach (int number in numbers) result *= number; //计算多个整数乘积 }
(3)从控制台输入三个整数,计算三个数的乘积,并从控制台输出。在 main 函数中添加代码如下:
Console.WriteLine("请输入第一个数:"); int number1 = int.Parse(Console.ReadLine()); Console.WriteLine("请输入第二个数:"); int number2 = int.Parse(Console.ReadLine()); Console.WriteLine("请输入第三个数:"); int number3 = int.Parse(Console.ReadLine()); Program p = new Program(); int result; //存储三个数相乘的结果 p.GetMultResult(out result, number1, number2, number3); Console.WriteLine("{0} * {1} * {2} = {3}", number1, number2, number3, result);
【代码解析】
本实例代码中首先创建了一个名为GetMultResult的函数,该函数的第一个参数为整型变量result,该参数前面的out关键字表示该参数为引用传递。
说明:此处的out关键字与前面的ref关键略有不同,out关键字修饰的参数在传递时是不需要初始化的。
GetMultResult函数的第二个函数为一个整型数组numbers,该数组中用于存储需要计算乘积的整数,numbers前面加入了params关键字,表示在调用函数时可以直接输入可变数量的参数。例如,实例代码中在调用GetMultResult函数时,并没有传递一个整型数组,而是直接传入三个整数,系统此时会自动将这三个整数作为函数中numbers的三个元素。这样就可以实现参数的动态变化。
注意:用params关键字修饰函数参数时,只能存在一个且必须放在最后。