【发布时间】:2011-09-12 13:56:30
【问题描述】:
我找不到相关问题。
在python 中,您可以轻松地遍历一个序列(list、generator 等)并同时收集迭代的索引,这要感谢enumerate(seq),就像这样:
>>> for (i,item) in enumerate(["toto","titi","tutu"]):
... print i, item
...
0 toto
1 titi
2 tutu
IEnumerable 是否有类似的东西,例如,将 IEnumerable<T> 转换为 IEnumerable<Tuple<Int32,T>> ?
(由于Select() 中的正确功能,我知道这很容易完成......但如果它存在,我宁愿使用它:))
更新 仅供参考,我很好奇这种可能性能够做类似的事情:“给我满足这个条件的最后一个项目的索引”,然后通过:
myEnumeration.First(t => some condition on t.Item2 ... ).Item1;
【问题讨论】:
-
也许为了完整性添加这个。这是一种使用解构的方法:twitter.com/buhakmeh/status/1291029712458911752?s=20
-
也刚刚发现twitter.com/SergioPedri/status/1291330327881879552?s=20。
Microsoft.Toolkit.HighPerformance有一个 'Enumerate()' 扩展方法
标签: .net ienumerable