我想要在ForEach擴展中使用三元運算符時出現問題。我的代碼如下:如何在表達式爲真時使用三元運算符?
List<string> lstText = new List<string>();
lstComboBox.ForEach(x => !String.IsNullOrWhiteSpace(x.Text) ? lstText.Add(x.Text));
我需要使用三元運算符來驗證有一個文本組合框,然後將其保存到列表中,如果你沒有找到的東西,什麼也不做。
我想要在ForEach擴展中使用三元運算符時出現問題。我的代碼如下:如何在表達式爲真時使用三元運算符?
List<string> lstText = new List<string>();
lstComboBox.ForEach(x => !String.IsNullOrWhiteSpace(x.Text) ? lstText.Add(x.Text));
我需要使用三元運算符來驗證有一個文本組合框,然後將其保存到列表中,如果你沒有找到的東西,什麼也不做。
我需要使用三元運算符來驗證是否有文本組合框,然後將它保存到列表中,如果您沒有找到某個東西,什麼都不做。
不這樣做。這是可怕的風格,很難推理,並違背慣例。
這樣做:
var result = comboBox
.Select(comboBoxItem => comboBoxItem.Text)
.Where(text => !String.IsNullOrWhiteSpace(text))
.ToList();
你有三個邏輯運算:獲取文本出來的組合框,過濾掉空白文本,創建一個列表。這個程序非常清楚地完成了這三件事情。除非需要,否則不要混淆循環和三元組,並將其添加到列表中;寫程序的水平表示你正在嘗試做什麼而不是你是怎麼做的。
絕對!謝謝埃裏克。 –
那優秀的迴應。謝謝你教我,我只是一個徒弟。 – Richard
@理查德:不客氣。一些有助於未來的事情是根據你所要做的事情來說明你的問題。很多初學者很早就走錯了路,然後問了很多關於如何留在錯誤路徑上的問題。更好地走在正確的道路上。 –
爲什麼你需要*使用三元運算符,爲什麼不使用簡單的'if()'語句呢? – CodingGorilla
「我需要使用三元運算符」 - 不,你不需要。我相信你以前見過'if'關鍵字。 – hvd