C# 当表达式仅为真时,如何使用三元运算符?
当我想在ForEach扩展中使用三元运算符时,我遇到了一个问题。我的代码如下:C# 当表达式仅为真时,如何使用三元运算符?,c#,C#,当我想在ForEach扩展中使用三元运算符时,我遇到了一个问题。我的代码如下: List<string> lstText = new List<string>(); lstComboBox.ForEach(x => !String.IsNullOrWhiteSpace(x.Text) ? lstText.Add(x.Text)); 我需要使用三元运算符来验证是否存在文本组合框,然后将其保存到列表中,如果没有找到任何内容,则不执行任何操作 我需要使用三元运算符来验证
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();
你有三个逻辑操作:将文本从组合框中取出,过滤掉空白文本,创建一个列表。这个程序非常清楚地做到了这三件事。除非你需要,否则不要乱搞循环和三元组,不要把东西添加到列表中;在表示您正在尝试做什么而不是如何做的级别编写程序。
为什么需要使用三元运算符,为什么不使用简单的if语句?我需要使用三元运算符-不,您不需要。我肯定你以前见过if关键字。绝对!谢谢你,埃里克,你的回答很好。谢谢你教我,我只是个学徒。@Richard:不客气。在将来会有帮助的事情是用你想做的事情来表达你的问题。许多初学者很早就走错了路,然后问了很多关于如何保持走错路的问题。首先,最好走上正确的道路。