Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 当表达式仅为真时,如何使用三元运算符?_C# - Fatal编程技术网

C# 当表达式仅为真时,如何使用三元运算符?

C# 当表达式仅为真时,如何使用三元运算符?,c#,C#,当我想在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();

你有三个逻辑操作:将文本从组合框中取出,过滤掉空白文本,创建一个列表。这个程序非常清楚地做到了这三件事。除非你需要,否则不要乱搞循环和三元组,不要把东西添加到列表中;在表示您正在尝试做什么而不是如何做的级别编写程序。

为什么需要使用三元运算符,为什么不使用简单的if语句?我需要使用三元运算符-不,您不需要。我肯定你以前见过if关键字。绝对!谢谢你,埃里克,你的回答很好。谢谢你教我,我只是个学徒。@Richard:不客气。在将来会有帮助的事情是用你想做的事情来表达你的问题。许多初学者很早就走错了路,然后问了很多关于如何保持走错路的问题。首先,最好走上正确的道路。