我正在尝试创建一个if语句,如果任何条件为真,它将执行一个动作。我需要测试的项目是八个文本框的文本值。我现在所拥有的是以下内容,它给我的错误是“运营商'||'不能应用于'string'和'string'类型的操作数。“
if (textbox1.text = "" || textbox2.text = "" || ...... and so on)
如果有人知道我应该如何写这个if语句或一个简单的方法来检查是否存在已知位置的.ini文件。要么对我有用。
答案 0 :(得分:20)
您需要使用等于运算符==
而不是赋值=
。
if (textbox1.text == "" || textbox2.text == "" || ...... and so on)
您的textbox1.text = ""
将textbox1.text
的值设置为空字符串,并将其作为分配结果返回。因此,您尝试在两个字符串上使用布尔值或(||
)。
答案 1 :(得分:3)
在C#中,如果要检查值是否相等 - 则需要使用双等号。
您的代码应如下所示:
if (textbox1.text == "" || textbox2.text == "" || ...... and so on)
答案 2 :(得分:2)
String.IsNullOrEmpty()
将为您返回一个布尔值:
http://msdn.microsoft.com/en-us/library/system.string.isnullorempty.aspx
..和其他人一样,使用“==”来测试平等。
答案 3 :(得分:1)
textbox1.text == "" ||
注意DOUBLE =符号。
如上所述,您的问题将通过首先为每个变量分配空字符串然后将OR应用于那些来进行评估,因此在评估布尔值时它看起来像
if ("" || "" || "" ... etc)
并且OR运算符不适用于字符串。请注意,如果你不小心,那么你将悄然违反这条规则。
if (x = true || y = false)
评估为if (true || false)
,并且不会给您及时的编译警告
答案 4 :(得分:1)
System.IO.File.Exists(path),返回一个布尔值