LINQ查询返回List <bool>

时间:2017-01-21 09:56:47

标签: c# linq

我有一个LINQ查询,如果条件对该索引处的特定项目满意,我需要返回truefalse的列表。

dataList = {100, 40, 10, 200};
var res = dataList.Select((item, index) => new { item, index }).Any(x => x.item > 50).ToList();

上述方法的问题是我无法在最后添加ToList()。如果没有它,它只返回真或假,而我想要一个bool列表。

  

预期输出 - {true,false,false,true}

1 个答案:

答案 0 :(得分:5)

您的方法中有许多不需要的代码 只需测试Select枚举的序列中的当前元素是否大于50,就不需要使用Index的重载。

如果您只想要一个与您的整数数组匹配的布尔列表,那么它只是

int[] dataList = { 100, 40, 10, 200};
var res = dataList.Select(item => item > 50).ToList();

foreach(bool b in res)
   Console.WriteLine(b);

最后,对Any的调用是错误的。当列表中的元素满足条件,然后STOPS枚举时,它返回true或false。它不返回可以使用ToList()实现的IEnumerable。