作者:唐古拉风情2502931431 | 来源:互联网 | 2022-12-10 13:18
我是C#的新手,想知道在使用get和set时我做错了什么.
我有一个VendingMachine,当我为我想要的饮料输入一个数字时,它会减去总数.
private int _coke = 2;
public int Beer = 20;
public int LemOnLime= 20;
public int Grape = 20;
public int CreamSoda = 20;
public bool AnohterBevrage;
问题是,即使它达到0,它仍然会减去.好吧,机器中不能有-1可乐.所以,我试过这个.
public int Coke
{
get => _coke;
set
{
if (_coke == 0)
{
_coke = value;
Console.WriteLine("No more Coke Left!");
}
}
}
但它不起作用,所以我不确定我在哪里被卡住了.我不确定数学函数是否与此相关.
如果遗漏了什么,请告诉我.我会尝试调整.这个getter和setter让我感到困惑.
编辑:添加功能
public void Math()
{
var input = Console.ReadKey();
while (input.Key == ConsoleKey.D1)
{
do
{
_coke--;
Console.WriteLine("\nTotal Coke Left: " + Coke);
Console.Write("\nWould You like Another Bevrage ?y/n: ");
if (Console.ReadLine() == "y")
{
AnohterBevrage = true;
Content();
Math();
}
else
{
AnohterBevrage = false;
}
break;
} while (AnohterBevrage == true);
}
}
SLaks..
5
if (_coke == 0)
你正在检查当前值.
这意味着您只能设置当前属性0
.
1> SLaks..:
if (_coke == 0)
你正在检查当前值.
这意味着您只能设置当前属性0
.