我有一个包含5,6,7,8,5,4,3的int列表。我喜欢使用索引从列表中检索值。例如,我给开始索引1和结束索引4我将在新列表中获得6,7,8,5。我如何在Linq中做到这一点?如何使用linq查询使用索引从列表中检索值?
1
A
回答
8
var results = list.Skip(1).Take(4);
编辑:请注意,这不是从你的问题清楚你用什么限制。如果你想成为包容性的两端,使用基于0的索引,你想:
var results = list.Skip(startIndex).Take(endIndex - startIndex + 1);
注意,这不会让你得到0的结果虽然 - 你可能想使endIndex
独家所以如果它等于startIndex
,你什么也得不到。然后代码是:
var results = list.Skip(startIndex).Take(endIndex - startIndex);
或者一种替代方法是反过来使用它们。例如,上述最后一个片段是等价于:
var results = list.Take(endIndex).Skip(startIndex);
2
这可能会为你工作:
list.Where((l, index) => index >= 1 && index <= 4 )
+2
请注意,即使逻辑上你知道你已经完成了迭代,也需要对*整个*序列进行评估。 – 2010-10-08 11:10:24
+0
是的好点。 – kjn 2010-10-08 11:20:10
相关问题
- 1. 如何使用linq从2维通用列表中检索值
- 2. 检索从数据表使用Linq的行索引Linq
- 3. LINQ查询:使用任何检索列表
- 4. 检索使用LINQ查询的EntityFramework
- 5. 如何使用LINQ从列表中获取索引
- 6. 用于从列表中检索数据的LINQ查询
- 7. 使用查询从sql视图中检索引用表的列表
- 8. 如何从检查索引中检索术语列表?
- 9. 如何从mysql表中使用mysql查询从三个表中检索值?
- 10. 如何在LINQ查询语言中使用索引/位置?
- 11. 检索LINQ查询后内部列表
- 12. 如何检查查询是使用mysql中的索引
- 13. 使用linq检索sharepoint列表项目
- 14. 如何使用子查询从多个表中检索数据?
- 15. 使用Linq添加索引位置阵列数值使用Linq
- 16. 在'foreach'语句中使用从SQLite查询检索的列表
- 17. 如何使用linQ从一个以上的列表中检索值?
- 18. SharePoint linq查询从列表中检索特定列
- 19. 如何从C#中的列表框索引检索文本值
- 20. 如何在C#中使用LINQ检索列值?
- 21. 如何使用hibernate lucene搜索从表中检索特定列?
- 22. 如何使用Luke检查Solr索引
- 23. 如何使用Lucene查询ElasticSearch索引
- 24. 如何使用lucene.net查询solr索引
- 25. 如何使用boto查询dynamodb2索引?
- 26. 如何使用SQL查询索引?
- 27. 查询不使用索引
- 28. 查询不使用索引 -
- 29. 查询不使用索引
- 30. 查询不使用索引
不说清楚,如果他想改变这种选择索引2至4,而不是,说。你必须通过list.Skip(2)。然后拿(3)。 – kjn 2010-10-08 11:05:50
@KJN:将进行编辑以清楚说明。 – 2010-10-08 11:08:41