[英]Null or “0” in text box in C#
我想在文本框值為0或null時隱藏項目(面板)。
if (Wier_r1.Text == null | Wier_r1.Text=="0") panelR1.Visible = false;
else panelR1.Visible = true;
為什么它在texbox中不起作用 - null。 0正在工作。
我認為文本框不會為Text值返回null。 我相信它會返回一個空字符串。
我想你想做這樣的事情:
if( string.IsNullOrEmpty(Wier_r1.Text) || Wier_r1.Text == "0"){
// Do something
}
因為TextBox.Text永遠不會為null。 是一個空字符串。
你的測試應該是:
if (Wier_r1.Text == string.Empty || Wier_r1.Text=="0")
panelR1.Visible = false;
else
panelR1.Visible = true;
在這種情況下,正確的OR運算符是|| 不是|。
.Text
上的TextBox
不會是null
。 如果你的意思是空白字符串 ,那么測試""
,或使用:
if(string.IsNullOrEmpty(Wier_r1.Text) || Wier_r1.Text == "0") {...}
另請注意|
之間的區別 和||
它將其更改為短路“或”(即如果第一個是真的,它將不會評估第二個) - 這通常是可以預先設定的,但不應該改變這個特定情況下的邏輯 ,
panelR1.Visible = !string.IsNullOrEmpty(Wier_r1.Text) && Wier_r1.Text != "0";
嘗試:您缺少使用或||
正常。
if (Wier_r1.Text == null || Wier_r1.Text=="0") panelR1.Visible = false;
else panelR1.Visible = true;
試試(||運算符)
if (string.IsNullOrEmpty(Wier_r1.Text) || Wier_r1.Text=="0")
或簡短形式:
panelR1.Visible = (!string.IsNullOrEmpty(Wier_r1.Text)) && (Wier_r1.Text != "0");
文本框中沒有存儲空值; 它們總是一個字符串,所以你需要檢查“”。
if (Wier_r1.Text == "" || Wier_r1.Text=="0")
panelR1.Visible = false;
else
panelR1.Visible = true;
嘗試(Wier_r1.Text == null || Wier_r1.Text == "0")
我不確定textfield的Text屬性是否為null。 有疑問,請使用此方法:
if (System.String.IsNullOrEmpty(Wier_r1.Text) || Wier_r1.Text=="0") panelR1.Visible = false;
我假設你想在沒有文字時隱藏面板,對嗎? 那將是一個空字符串。
我可能會這樣做
panelR1.Visible = !(string.IsNullOrEmpty(Wier_r1.Tex) || Wier_r1.Text=="0");
正如其他人所說,C#中的邏輯或運算符是||,單個| 是一個按位或。
視為對象並使用.equal for it ..
if (Wier_r1.Text.equals("") || Wier_r1.equals(0))
panelR1.Visible = false;
else
panelR1.Visible = true;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.