我想在ForEach扩展中使用三元运算符时遇到问题.我的代码如下:
List<string> lstText = new List<string>();
lstComboBox.ForEach(x => !String.IsNullOrWhiteSpace(x.Text) ? lstText.Add(x.Text));
Run Code Online (Sandbox Code Playgroud)
我需要使用三元运算符来验证是否有一个文本组合框,然后将其保存到列表中,如果你没有找到什么,什么也不做.
Eri*_*ert 12
我需要使用三元运算符来验证是否有一个文本组合框,然后将其保存到列表中,如果你没有找到什么,什么也不做.
不要那样做.这是一种可怕的风格,很难推理,与普通的做法相反.
做这个:
var result = comboBox
.Select(comboBoxItem => comboBoxItem.Text)
.Where(text => !String.IsNullOrWhiteSpace(text))
.ToList();
Run Code Online (Sandbox Code Playgroud)
您有三个逻辑操作:从组合框中取出文本,过滤掉空白文本,创建一个列表.这个程序非常清楚地完成了这三件事.除非你需要,否则不要乱用循环和三元组并将内容添加到列表中; 在表达你想要做的事情的级别编写程序而不是你是如何做的.