允许我循环遍历动态变化列表的好方法/算法。
Select-Object
,我想a[n]
无论目前我尝试这样做(伪代码),这非常简单 但是,它不适用于重复
a[n]
我正在考虑为此问题使用链接列表。你会推荐一个不同的解决方案,还是唯一的链接列表?
编辑: 通过动态改变,我的意思是列表中的内容可以在'循环'中调整,即nextItem()调用。假设只有一个线程。
答案 0 :(得分:0)
这是一个C#实现。一旦到达循环结束,它就会回到起点。您可以修改它以在最后抛出异常或任何其他操作。
在您的示例中,虽然您使用列表元素作为currentItem
,但它是listElement的事实才是第一次。
List<String> list = new List<String>();
int currentItem = 5; // or InitializeCurrentItem {indexOf(listElementToSearchFor);}
static string nextItem()
{
//Handle case where the end of the loop is reached
if (currentItem == list.Count) currentItem = 0;
//Ensure current item is updated
return list[currentItem++];
}
void Main()
{
list.Add("a");
list.Add("b");
list.Add("c");
list.Add("d");
list.Add("e");
Console.WriteLine(nextItem()); //a
Console.WriteLine(nextItem()); //b
list.Insert(2, "z"); //add z at the 2nd index
Console.WriteLine(nextItem()); //z
Console.WriteLine(nextItem()); //c
Console.WriteLine(nextItem()); //d
Console.WriteLine(nextItem()); //e
Console.WriteLine(nextItem()); //a
}