这就是我的 list 。
[0], [1], [2], [3], [4]
我希望能够遍历这些 - 但是这里的技巧是我想从一个偏移量开始然后循环回到那个偏移量?
例如。
[0], [1], [2], [3], [4]
o-->
//Start at offset 1 then get 2, 3, 4 then loop back around to zero
ex2.
[0], [1], [2], [3], [4]
o-->
//Start at offset 3 then get 4, then loop back around to zero, then 1, 2
我考虑过使用常规 List<T>
并尝试将这个概念实现到 for 循环中,但我不确定如果他们采用更简洁的方式,我是否想这样做。
基本上不要从 0 开始并循环回到起点并遍历元素回到偏移量。
最佳答案
您实际上是在描述环形缓冲区或循环缓冲区。
http://en.wikipedia.org/wiki/Circular_buffer
简单的实现是
int start; // Set your desired start offset
for (int i = start; i < myList.Length; i++)
{
// do stuff
}
for (int j = 0; j < start; j++)
{
// do stuff
}
关于c# - 如何从偏移量开始并遍历整个列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12556676/