Quiero obtener el siguiente elemento en una lista y si la lista está en su final, quiero el primer elemento. Así que solo quiero que circule en otras palabras.Lista <> Obtener elemento siguiente u obtener el primer
List<int> agents = taskdal.GetOfficeAgents(Branches.aarhusBranch);
if (lastAgentIDAarhus != -1)
{
int index = agents.IndexOf(lastAgentIDAarhus);
if (agents.Count > index + 1)
{
lastAgentIDAarhus = agents[index + 1];
}
else
{
lastAgentIDAarhus = agents[0];
}
}
else
{
lastAgentIDAarhus = agents[0];
}
estoy bastante disgustado con mi propia solución que se muestra arriba, que me haga saber si usted tiene una mejor :)
guau que es una solución extremadamente buena si eso funciona :) cuidado de explicarlo un poco? –
el operador de mod hace un módulo, que es exactamente lo que quería. Si pudiera inicializar el índice en 0 en lugar de -1, podría usar: lastAgentIDAarhus = agents [index% (agents.Count - 1)] – configurator
Creo que debería ser 'index% (agents.Count)' –