使用来自单独 类 方法的值

Using values from separate classes method

我创建了一个粗略的骨架项目,但由于我的知识有限,我正在尝试做一些我不确定的事情..

我正在尝试使用来自单独 class 的方法来基本上进行我的计算,为我的 main class 存储(使用 main class 只显示输出,而我的 num class存储和计算等)

目前,用户可以选择一个数字,它确实会存储到 double rad 中,但我不确定如何将其移至我的另一个 classes (num) 方法,称为 number。

            string radIn = "";
            double rad;

            bool rslt = false;

            while(rslt == false) 
            {
                Console.WriteLine("Please enter a number");
                radIn = Console.ReadLine();
                result = double.TryParse(radIn, out rad); 
                if(rslt == false) 
                {
                    Console.Clear();
                    Console.WriteLine("Please enter a number only"); 
                    Console.ReadKey();
                }
                else 
                {
                    do
                    {
                        Console.WriteLine("(1)Your number");
                        Console.WriteLine("(2)Update number");
                        Console.WriteLine("(3)Calculate");

                        string userC = Console.ReadLine();

                        switch (userC)     //==============Issue focused here===========
                        {

                            case "1": 
                                //number user has chosen here, not sure how to grab it from my other class
                                break;
                            case "2":
                                //Updated user number output here
                                break;
                            case "3":
                                //Calculating method output appearing here
                                break;
                            default:
                                Console.Clear();
                                Console.WriteLine("Invalid Choice!");
                                break;
                        }                 //===========================================
                        Console.ReadLine();
                    }
                    while (true);
                    break;
                }

在一个单独的 class 中,我有一个 num class 我正在尝试完成我的大部分工作:

 class num
    {
        public int number()
        {
            //trying to store user picked number here
        }
        public void set()
        {
            //trying to do the required steps to changing and updating the users number here and storing  
              in the number method
        }
        public double calculation()
        {
            //calculation (number * 10) result supposed to be displayed when user selects 3
        }
    }

如果我的代码有点混乱,我深表歉意,我尝试了几次搜索,但我认为我无法准确地说出我要查找的内容。

如果您将 num class 的签名更改为类似于下面的代码,您将可以在 Main.cs[=12 中引用它=]

public static class num
{
    public static int number() { }

    public static void set() { }

    public static double calculation() { }
}

然后在 Main.cs 中,以下内容应该有效。

num.set()
num.number()
num.calculation()

关键字 static 理解起来很重要。

你快到了。需要修改几个地方就完成了。

//Change the class slightly as to store a value and calculate
class num
{
    public double number { get; set; }

    public double calculation()
    {
        //calculation (number * 10) result supposed to be displayed when user selects 3
        return number * 10;
    }
}

在 while 循环之外创建一个新实例

var enteredNumber = new num();
double rad;

在 switch 语句中使用变量

switch (userC)     //==============Issue focused here===========
{
    case "1":
        enteredNumber.number = rad;
        break;
    case "2":
        //Updated user number output here
        Console.WriteLine("Value is :{}", enteredNumber.number);
        break;
    case "3":
        //Calculating method output appearing here
        Console.WriteLine("Value is :{}", enteredNumber.calculation());
        break;
    default:
        Console.Clear();
        Console.WriteLine("Invalid Choice!");
        break;
}