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,并减去我的钱中的柠檬水工厂价格。
答案 0 :(得分:1)
您的问题是在C#中,原始类型(如int
,double
等)按值传递。因此,当您在方法中对它们进行操作时,它实际上正在更改这些变量的副本。如果这些是类级变量,您可以更改它们而不将它们作为参数传递,例如:
private void BuyBuildings()
{
buildingName++;
_money -= lemonadeFactoryPrice;
buildingNamePrice *= 1.8;
}