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

时间:2010-03-01 16:38:36

标签: c# asp.net-3.5

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

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

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

我该如何解决这个问题?

5 个答案:

答案 0 :(得分:6)

在if语句中,将=替换为==

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

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

答案 1 :(得分:4)

键入时:

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")
{

答案 2 :(得分:1)

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

答案 3 :(得分:1)

需要使用==代替=。前者用于comparison,而后者用于assignment

更好的方法是使用Equals方法

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

答案 4 :(得分:0)

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