gpt4 book ai didi

c# - 在 C# 中使用 getter 和 setter

转载 作者:太空宇宙 更新时间:2023-11-03 18:21:43 24 4
gpt4 key购买 nike

我是 C# 的新手,想知道在使用 get 和 set 时我做错了什么。

我有一个自动售货机,当我输入我想要的饮料的数字时,它会从总数中减去。

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!");
}
}

}

但它不起作用,所以我不确定我卡在哪里。我不确定 Math 函数是否与此处相关。

如果有什么遗漏,请告诉我。我会努力调整。这个 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);
}
}

最佳答案

if (_coke == 0)

您正在检查当前值。

这意味着您只能设置当前为 0 的属性。

关于c# - 在 C# 中使用 getter 和 setter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51389607/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com