C # Как вернуть значение между 2 файлами .cs - PullRequest
0 голосов
/ 09 декабря 2018

Так что я пытаюсь вернуть сумму скидки между 2 .cs файлами в основную и распечатать сумму вместо того, чтобы делать это во втором классе.Я новичок в этом, и мне нужна помощь

код еще не завершен

MAIN

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

ВТОРОЙ ФАЙЛ calculator.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);

                }

            }
        }
    }

Ответы [ 2 ]

0 голосов
/ 09 декабря 2018
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. изменил тип возвращаемого значения на double (потому что вы посылаете double, поэтому логично возвращать тот же тип, но не обязательно
  2. addпеременная result для возврата результата
  3. сделал вычисление (result = i * input)
  4. , вернул result

обратите внимание, что если i == 0результат будет 0, потому что result инициализируется в ноль, но может применить любую логику, которую вы хотите

, и в вашем Main я прочитал результат из функции и вывел его в Console

double result = myCalculator.Calculation(input);
Console.WriteLine("caculcation result is" + result);
0 голосов
/ 09 декабря 2018

Вы можете изменить метод Calculation в своем классе Calculator с void на double.Метод вычисляет результат и возвращает его в основную функцию, где он будет напечатан.

Метод расчета:

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

Main:

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