如何从两次调用Multiply的调用中获取返回值,将它们相加并打印结果?

时间:2019-10-19 13:47:39

标签: c#

在Main方法中,将两次调用Multiply的返回值相加,将它们加在一起,然后打印结果。 Multiply(2.5,2)应该返回5,而Multiply(6,7)应该返回42,因此您应该得到47的结果。

我使用C#编写了以下代码,但是我只得到42的答案,并且在尝试添加它们时遇到错误。关于如何将两个调用加为47而不是42的任何想法。This是Treehouse挑战的链接:

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。

3 个答案:

答案 0 :(得分:0)

Multiply返回一个double,因此您可以将结果加在一起:

var total = Multiply(2.5, 2) + Multiply(6, 7);
Console.WriteLine($"result: {total}");

答案 1 :(得分:0)

“乘”仅应负责将数字相乘,如果您尝试返回相乘值总和的结果,则表示单项责任的违反。因此,您可以执行以下操作之一:

double value1 = Multiply(2.5, 2);
double value2 = Multiply(6, 7);

double total = value1 + value2; // which is equal to 47 in your case

或将相乘后的结果传递给求和方法,如下所示:

static double Sum(double d1, double d2)
{
    return d1 + d2;
}

并这样称呼它:

var total = Sum(value1, value2);

或者您可以像这样简单地做到这一点:

var total =  Multiply(2.5, 2) + Multiply(6, 7);

答案 2 :(得分:0)

有很多方法可以做到,但是您可以乘以结果

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);
    }
}
}