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

C# 如何从这段2行代码中删除冗余变量,c#,C#,作为娱乐,我试图将一些代码减少到尽可能少的行,但我遇到了一种模式,我不太明白如何减少到1行。作为一个例子,我有以下几点: bool redundant; Enumerable.Range(1, 5).ToList().ForEach(x => redundant = x % 2 == 0 ? ListOfEvens.Add(x): false); 上面的2行“添加1到5的偶数”可以用不同的语法重写为1行吗?我认为这应该是可行的,因为其中一行只是声明了一个冗余变量 我不能100%确

作为娱乐,我试图将一些代码减少到尽可能少的行,但我遇到了一种模式,我不太明白如何减少到1行。作为一个例子,我有以下几点:

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

上面的2行“添加1到5的偶数”可以用不同的语法重写为1行吗?我认为这应该是可行的,因为其中一行只是声明了一个冗余变量

我不能100%确定
listofens
的类型,但假设它是
List
,您可以使用
AddRange

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

我能让它工作,谢谢!这只是一个例子,在我的原始代码中,listofeven是一个不同的HashSet,但我没有理由不能将其更新为一个允许我使用AddRange的列表