如何从这2行代码中删除冗余变量

时间:2015-12-06 05:09:31

标签: c#

为了娱乐,我试图将一些代码减少到尽可能少的行,并且我已经遇到了一种模式,我无法弄清楚如何减少到1行。作为一个例子,我有以下内容:

bool redundant;    
Enumerable.Range(1, 5).ToList().ForEach(x => redundant = x % 2 == 0 ? ListOfEvens.Add(x): false);

上面的2个衬里可以加上偶数1到5"用不同的语法重写成1个班轮?我认为它应该是可行的,因为一行只是声明一个其他冗余变量。

2 个答案:

答案 0 :(得分:7)

我不能100%确定ListOfEvens的类型,但假设List<int>您可以使用AddRange

ListOfEvens.AddRange(Enumerable.Range(1, 5).Where(x => x % 2 == 0));

答案 1 :(得分:1)

Enumerable.Range(1, 5).ToList().ForEach(x => { if (x % 2 == 0) ListOfEvens.Add(x);});