2010-01-12 46 views
2

我想創建一個if語句,如果任何條件爲真,將執行一個動作。我需要測試的項目是八個文本框的文本值。我現在所擁有的是以下內容,它給我的錯誤是「操作員」||「不能應用於'string'和'string'類型的操作數「。如何在C#中使用或聲明IF語句?

if (textbox1.text = "" || textbox2.text = "" || ...... and so on) 

如果有人知道我應該如何措辭是這個if語句或一個簡單的方法來檢查,看看是否在已知位置的.ini文件存在。要麼爲我工作。

回答

20

您需要使用等於運算符==而不是賦值=

if (textbox1.text == "" || textbox2.text == "" || ...... and so on) 

textbox1.text = ""textbox1.text爲空字符串值,並將其返回作爲分配的結果。因此,您試圖在兩個字符串上使用布爾值或(||)。

1
textbox1.text == "" || 

請注意DOUBLE =符號。

書面,你的問題將由第一分配空字符串每個變量然後應用或那些,因此由當時的布爾評估它看起來像

if ("" || "" || "" ... etc) 

評估和OR操作者沒有按」 t在字符串上工作。請注意,如果你不小心,那麼你會悄悄打破這條規則。

if (x = true || y = false)計算結果爲if (true || false),並且不會給你這樣一個及時編譯器警告

3

在C#中,如果你正在檢查一個值是否相等 - 你需要使用雙等號。

您的代碼應該是這樣的:

if (textbox1.text == "" || textbox2.text == "" || ...... and so on) 
1

System.IO.File.Exists(path),返回布爾值

+1

這與問題有什麼關係? – Foole 2010-01-13 04:50:25

+0

問題的最後一點:「...或檢查是否存在已知位置的.ini文件的簡單方法。」 – benPearce 2010-01-13 05:45:53