第一應該檢查空值(因爲您試圖訪問對象的實例字段/屬性):
if(selectedlabel != null)
// or
if(!ReferenceEquals(selectedlabel, null))
那麼你正在做的只是檢查是否字符串爲空或空(在其C#有BUIL-的方法):string.IsNullOrEmpty(selectedlabel.Text)
現在,你只需要連接這些使用&&
操作,檢查,如果兩個是真實的,但如果首先檢查是false
則失敗。知道它會回落時,第一個條件不滿足,你可以結合到這一點:
if (!ReferenceEquals(selectedlabel, null) && !string.IsNullOrEmpty(selectedlabel.Text))
{
// your code here
}
但另一個問題是basketID = int.Parse(selectedlabel.Text);
。正如我經常說的留有一定的差錯這意味着不認爲用戶是聰明的(更好的方式!總是假設用戶是愚蠢的,因爲地獄)所以,而不是放一個數字,用戶將輸入像「請輸入數字123在這裏「,它會殺死你的應用程序。
爲了擺脫這只是TryParse
代替:
int.TryParse(selectedlabel.Text, out basketID);
好了,所以結合以上的ALL,結果應該是這樣的:
if (!ReferenceEquals(selectedlabel, null) && !string.IsNullOrEmpty(selectedlabel.Text))
{
if(!int.TryParse(selectedlabel.Text, out basketID))
{
// user entered text that is unconvertible to int
}
}
你在'if'裏面輸入了嗎? –