使用LINQ进行紧凑列表转换

时间:2014-03-23 04:45:39

标签: c# linq list

这是我的代码:

 List<bool> results1 = new List<bool>();
 List<int> items1 = ...;
 foreach (var item in items1)
     results1.Add((item >= 1600 && item <= 5000));

我确信这可以压缩成一行,但是如何?

2 个答案:

答案 0 :(得分:3)

results1 = items1.Select(i => i >= 1600 && i <= 5000).ToList();

答案 1 :(得分:1)

ConvertAll不会更改原始列表。为了使这个单行,您可能应该用items1替换代码...来获取您的项目,如果您没有在其他地方使用它。

 List<bool> results1 = items1.ConvertAll(i => i >= 1600 && i <= 5000);