我的自定义方法无法正常工作

时间:2016-02-22 19:41:31

标签: c#

我有点问题。点击按钮后我想买东西。

private void btnBuyLemonade_Click(object sender, EventArgs e)
        {
            BuyBuildings(lemonadeFactory, money, lemonadeFactoryPrice);
        }

然后我有类似这种方法的东西

private void BuyBuildings(int buildingName, double _money, double buildingNamePrice)
        {
            buildingName++;
            _money -= lemonadeFactoryPrice;
            buildingNamePrice *= 1.8;
        }

但它可能不会像你所知的那样工作。我应该做什么/读什么来正确地写它。 Ofc我想增加1个柠檬水厂的数量,将它的价格乘以1.8,并减去我的钱中的柠檬水工厂价格。

1 个答案:

答案 0 :(得分:1)

您的问题是在C#中,原始类型(如intdouble等)按值传递。因此,当您在方法中对它们进行操作时,它实际上正在更改这些变量的副本。如果这些是类级变量,您可以更改它们而不将它们作为参数传递,例如:

private void BuyBuildings()
        {
            buildingName++;
            _money -= lemonadeFactoryPrice;
            buildingNamePrice *= 1.8;
        }