【问题标题】:C# How to return a value between 2 .cs filesC#如何在2个.cs文件之间返回一个值
【发布时间】:2018-12-09 13:10:06
【问题描述】:

所以我试图将 2 个 .cs 文件之间的折扣金额返回到主文件中并打印出那里的金额,而不是在二等舱中进行。我对此很陌生,我需要帮助

代码尚未完成

主要

using System;

    namespace CalcDiscount
    {
        class Program
        {
            static void Main(string[] args)
            {
                Console.WriteLine("Enter price");
                double input = double.Parse(Console.ReadLine());
                    Calculator myCalculator = new Calculator();
                myCalculator.Calculation(input);

                  Console.WriteLine("Enter discount");
                input = double.Parse(Console.ReadLine());
                Console.WriteLine("");
                Console.ReadLine();
            }
        }
    }

第二个文件 计算器.cs

using System;

    namespace CalcDiscount
    {
        public class Calculator
        {
            public void Calculation(double input)
            {
                Console.WriteLine("Your entered the number: " + input);
                int i = 1;
                if (input != 0)
                {
                     Console.WriteLine(input + " x " + i + " = " + input * i);

                }

            }
        }
    }

【问题讨论】:

  • 那么你想从Calculation()函数返回一些值吗?
  • 我对此很陌生。但是是的,我需要返回计算结果然后打印它

标签: c# return


【解决方案1】:

您可以将 Calculator 类中的 Calculation 方法从 void 更改为 double。该方法将计算结果并将其返回给 main 函数,并将其打印出来。

计算方法:

public double Calculation(double input1, double input2)
{
      return (input1 * input2);
}

主要:

 Console.WriteLine("Enter first input");
 double input1 = double.Parse(Console.ReadLine());
 Console.WriteLine("Enter second input");
 double input2 = double.Parse(Console.ReadLine());
 Calculator myCalculator = new Calculator();
 double result = myCalculator.Calculation(input1, input2);
 Console.WriteLine("result = " + result);

【讨论】:

  • 感谢工作。我正在尝试类似 result = input1 * input2; (新行)返回结果;
【解决方案2】:
public class Calculator
    {
        public double Calculation(double input)
        {
            Console.WriteLine("Your entered the number: " + input);
            int i = 1;
            double result = 0;
            if (input != 0)
            {
                result = i * input;

            }

            return result;

        }
    }

我在这里做了一些改变

  1. 将返回类型更改为双精度(因为您发送双精度,所以返回相同类型但不是必需的合乎逻辑
  2. 添加result 变量以返回结果
  3. 进行了计算 (result = i * input)
  4. 返回result

请注意,如果 i == 0,结果将为 0,因为 result 已初始化为零,但可以应用您想要的任何逻辑

在您的Main 中,我从函数中读取结果并将其输出到Console

double result = myCalculator.Calculation(input);
Console.WriteLine("caculcation result is" + result);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-04-05
    • 1970-01-01
    • 2017-10-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多