获取错误消息 – 无法将类型’string’隐式转换为’bool’

我正在检查文本框中的值以触发条件语句,但我收到错误消息。

if (txtAge.Text = "49") || (txtAge.Text = "59") { txtNote.Text = "A valid picture ID must be submitted"; } 

我得到的错误信息是无法将类型’string’隐式转换为’bool’

我该如何解决这个问题?

当你输入这个:

 if (txtAge.Text = "49") 

这基本上是将“49”分配给txtAge.Text ,然后将该值作为字符串返回(等于“49”)。

这基本上和以下一样:

 string tmp = txtAge.Text = "49"; if (tmp) { //... 

但是,您不能执行“if(stringExpression)”,因为if语句仅适用于布尔值。 你很可能想输入:

 if (txtAge.Text == "49" || txtAge.Text == "59") { 

在if语句中,replace = by ==

您正在使用赋值运算符而不是等于比较。

if语句的语法也不正确。 检查if-else(C#参考) 。

你不能用“=”来比较字符串。 在这种情况下,您可以使用txtAge.Text.comparedTo(“49”)== 0,依此类推

需要使用==而不是= 。 前者用于comparison而后者用于assignment

更好的方法是使用Equals方法

 if (txtAge.Text.Equals("49") || txtAge.Text.Equals("59")) { } 

你错过了=’s。 此外,您可能需要围绕整个if语句使用另一组括号。