我不确定如何解决这个问题,所以我将从"伪"代码开始:
List<Player> players = new List<Player>();
players.Add(p1);
players.Add(p2);
players.Add(p3);
while(true) //infinite loop
{
Player nextOne = players.Get(); // It will always get next player
}
Run Code Online (Sandbox Code Playgroud)
我正在寻找一个集合/列表/缓冲区/数组等,它将具有某种"Get"方法,它总是返回下一个项目.当它到达终点时,它将返回第一项.
一个很好的例子就是纸牌游戏,比如扑克:我有玩家列表......我总是回到下一个玩家,就像在圈子里一样.
我的问题是:是否已经在C#/ .NET的某个地方实现了这样的集合?如果没有,是否正在为List最佳解决方案编写扩展方法?