如果否则错误“<= 运算符不能应用于 "TextBox" 和 "int" 类型的操作数)

If otherwise error " The <= operator can not be applied to operands of type "TextBox" and "int")

我刚开始编程,遇到一个无法修复的错误。

If otherwise error " The <= operator can not be applied to operands of type "TextBox" and "int").

private void bn_CocaCola_Click(object sender, EventArgs e)
    {
        int GetränkeWert = 2;

    if (tbh_GeldAs <= GetränkeWert)
    {
        tbh_GeldAs.Text = ("Endnehmen sie Ihr Getränk");
    }
    else
    {
        tbh_GeldAs >= GetränkeWert;
        tbh_GeldAs.Text = ("Sie müssen Geld einzahlen");
    }
}

您不能在 string/text-variable <= 包含这样的运算符上使用 greater/smaller (/>) 运算符。 tbh_GeldAs.text 是一个 string/text-variable。将其转换为数字类型,它应该可以工作。

错误消息可以帮助我们,因此请尝试查看它告诉您的内容。我查看了您 post 中的错误消息,它指出您的表达式...

tbh_GeldAs <= GetränkeWert

是这些类型的比较。

文本框 <= 整数。

那么什么是文本框?它包含一些文本,但您必须查看 Textbox.Text 属性.

tbh_GeldAs.Text <= GetränkeWert

但现在这是将“123”之类的字符串与 int 进行比较,但仍然无法正常工作!您需要将该字符串更改为数字。

尝试使用 convert class。你有方法 ToInt32 可以用参数调用(在你的情况下 tbh_GeldAs.Text)。方法 return 是一个具有相同 的变量,但现在它具有数值类型 int。现在您可以使用 greater/smaller 运算符。

您的案例的方法调用:

Convert.ToInt32(tbh_GeldAs.Text) <= GetränkeWert

像这样转换变量时,不需要将它们保存到变量中。您可以在操作中直接使用 return 值。

虽然我希望这能解决您的问题,但我的 真实 答案是花时间查看错误消息,看看它在说什么,因为它们通常很有帮助。