在C#中,如何在IF语句中使用Or?
我试图创建一个if语句,如果任何条件为真,它将执行一个操作。我需要测试的项目是八个文本框的文本值。我现在看到的是以下内容,它给我的错误是“运算符”| |“不能应用于'string'和'string'类型的操作数在C#中,如何在IF语句中使用Or?,c#,C#,我试图创建一个if语句,如果任何条件为真,它将执行一个操作。我需要测试的项目是八个文本框的文本值。我现在看到的是以下内容,它给我的错误是“运算符”| |“不能应用于'string'和'string'类型的操作数 如果有人知道我应该如何使用这个If语句,或者用一种简单的方法检查在已知位置是否存在.ini文件。这两种方法都适用于我。您需要使用相等运算符=而不是赋值= if (textbox1.text == "" || textbox2.text == "" || ...... and so on)
如果有人知道我应该如何使用这个If语句,或者用一种简单的方法检查在已知位置是否存在.ini文件。这两种方法都适用于我。您需要使用相等运算符
=
而不是赋值=
if (textbox1.text == "" || textbox2.text == "" || ...... and so on)
您的textbox1.text=”“
将textbox1.text
的值设置为空字符串,并将其作为赋值结果返回。因此,您试图在两个字符串上使用布尔or(|
)
textbox1.text == "" ||
注意双=符号
如前所述,您的问题将通过首先为每个变量分配空字符串,然后将OR应用于这些变量来进行计算,因此在计算布尔值时,它看起来是这样的
if ("" || "" || "" ... etc)
OR运算符不处理字符串。请注意,如果你不小心,那么你会悄悄地打破这条规则
if(x=true | | y=false)
的计算结果为if(true | | false)
,并且不会在C#中给您如此及时的编译器警告,如果您正在检查一个值是否相等-您需要使用双等号
您的代码应该如下所示:
if (textbox1.text == "" || textbox2.text == "" || ...... and so on)
String.IsNullOrEmpty()
将为您返回一个布尔值:
…并且,正如其他人所说,使用“==”来测试相等性。System.IO.File.Exists(path),返回一个布尔值这与问题有什么关系?问题的最后一点:“…或者一种检查已知位置是否存在.ini文件的简单方法。”
if (textbox1.text == "" || textbox2.text == "" || ...... and so on)