如何将用户输入值返回到另一个类? C#

时间:2016-11-20 19:01:39

标签: c#

我是c#和面向对象编程的新手,所以请原谅我这是一个不成熟的问题,但我还不熟悉所有内容。 我想要求用户输入第一个类中的方法,然后将此值返回到第二个类中的方法,以计算最终成本。我知道如何通过构造函数传递一个设置值,但据我所知,这很好但是我需要输入值而不是设置值。 (这段代码只是我的主程序中的一点)

class TableOrder
{      
    string inputtablenumber;
    int tablenumber;

    public int TableNumber()
    {
        Console.Write("please enter the table number:");
        inputtablenumber = Console.ReadLine();
        tablenumber = int.Parse(inputtablenumber);
        return tablenumber;            
    }   
}

class TableBill
{

public void CalculateBill()
    {
        TableOrder TO = new TableOrder();
        TO.AddDrink();            

        if (tablenumber >= 6 & tablenumber < 10)
        {
            Console.Write("You are due a 10% discount");

        }
        if (tablenumber > 10)
        {
            Console.Write("you are due a 15% discount");
        }

    }        
}

 class Program
{
    static void Main(string[] args)
    {

        TableBill TB = new TableBill();
        TB.CalculateBill();

    }
}

所以我想在我的CalculateBill类中使用来自TableNumber方法的数字,而不是传递已经设置的值。我试过TO.AddDrink();但我没有到达任何地方。这只是我整个代码的一小部分,所以发生的事情可能不会太多,但我只是想在另一个类中访问这个tablenumber值。 提前谢谢!

1 个答案:

答案 0 :(得分:0)

int tablenumber;更改为public int tablenumber;,然后在CalculateBill致电TO.TableNumber,并将tablenumber替换为TO.tablenumber

可替换地:

public void CalculateBill()
    {
        TableOrder TO = new TableOrder();
        var tablenumber = TO.TableNumber();
        TO.AddDrink();            

        if (tablenumber >= 6 & tablenumber < 10)
        {
            Console.Write("You are due a 10% discount");

        }
        if (tablenumber > 10)
        {
            Console.Write("you are due a 15% discount");
        }

    }        
}