Nat*_*ins 1 c# list circular-buffer
所以这就是我的清单.
[0], [1], [2], [3], [4]
Run Code Online (Sandbox Code Playgroud)
我希望能够遍历这些 - 但这里的诀窍是我想从一个偏移开始然后循环回到那个偏移量?
恩.
[0], [1], [2], [3], [4]
o-->
//Start at offset 1 then get 2, 3, 4 then loop back around to zero
Run Code Online (Sandbox Code Playgroud)
EX2.
[0], [1], [2], [3], [4]
o-->
//Start at offset 3 then get 4, then loop back around to zero, then 1, 2
Run Code Online (Sandbox Code Playgroud)
我考虑使用常规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
}
Run Code Online (Sandbox Code Playgroud)