在 Main 方法中,从两个调用中获取返回值 乘法,将它们相加,然后打印结果。乘法 (2.5, 2( 应返回 5,乘法 (6, 7( 应返回 42,因此应得到的结果为 47。
使用 C# 我编写了以下代码,但是我只得到 42 的答案,并且在尝试添加它们时出现错误。关于如何添加两个调用以获得 47 而不是 42 的任何想法。这是树屋挑战的链接:
using System;
class Program
{
static double Multiply(double firstParam, double secondParam)
{
return (firstParam * secondParam);
}
static void Main(string[] args)
{
Multiply(2.5, 2);
Multiply(6, 7);
}
}
输出应为 47。
Multiply
返回一个double
,因此您可以将结果相加:
var total = Multiply(2.5, 2) + Multiply(6, 7);
Console.WriteLine($"result: {total}");
乘法应该只负责乘以数字,如果你试图返回乘法值的总和结果,这是违反单一责任的标志。因此,您可以执行以下操作之一:
double value1 = Multiply(2.5, 2);
double value2 = Multiply(6, 7);
double total = value1 + value2; // which is equal to 47 in your case
或者将乘法值的结果传递给 sum 方法,如下所示:
static double Sum(double d1, double d2)
{
return d1 + d2;
}
并像这样称呼它:
var total = Sum(value1, value2);
或者你可以像这样简单地做:
var total = Multiply(2.5, 2) + Multiply(6, 7);
有很多方法可以做到这一点,但您可以捕获结果乘法
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text.RegularExpressions;
namespace Rextester
{
public class Program
{
public static double result = 0;
static double Multiply(double firstParam, double secondParam)
{
return result += firstParam * secondParam;
}
public static void Main(string[] args)
{
Multiply(2.5, 2);
Multiply(6, 7);
Console.WriteLine(result);
}
}
}