c# – LINQ – 从特定索引开始从列表中获取项目
发布时间:2020-12-15 19:47:39 所属栏目:百科 来源:网络整理
导读:在LINQ的帮助下,我需要根据条件从列表中获取项目.为此,它应该仅考虑从(提供索引-3)到提供索引(动态)的项目. 例如,列表包含项目{1,3,5,7,9,11,13}.如果提供的索引是4,则它应该考虑从索引2开始到索引4结束的总共三个索引.在这三个项目中,应该用条件过滤它们 –
在LINQ的帮助下,我需要根据条件从列表中获取项目.为此,它应该仅考虑从(提供索引-3)到提供索引(动态)的项目.
例如,列表包含项目{1,3,5,7,9,11,13}.如果提供的索引是4,则它应该考虑从索引2开始到索引4结束的总共三个索引.在这三个项目中,应该用条件过滤它们 – 比如,项目应该大于5. 结果应该是 – {7,9} 我试过的是,这是错的,我被困住了: list.Select(item => list.Select(index => item[index - 3] && item > 5).ToList()); 解决方法
听起来你只想要
Skip 和
Take 的混合,用
Where 过滤:
var query = list.Skip(index - 3) // Start at appropriate index .Take(3) // Only consider the next three values .Where(x => x > 5); // Filter appropriately 就个人而言,对我而言,似乎有点奇怪,指数将是终点而不是起点,请注意.您可能想看看其他代码是否会从更改它中获益. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |