我有一个LINQ查询,我需要返回该列表,true
或者false
条件是否满足该索引处的特定项目.
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}
Steve.. 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.
您的方法中有许多不需要的代码.
只需测试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.