Voglio ottenere l'elemento successivo in un elenco e se l'elenco è alla fine voglio il primo elemento. Quindi voglio solo che cerchi in altre parole.Elenco <> Ottieni l'elemento Next o ottieni il primo
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];
}
Sono abbastanza dispiaciuto con la mia soluzione sopra indicato, fatemi sapere se si dispone di una migliore :)
wow questa è una soluzione estremamente pulita se funziona :) cura di spiegarlo un po '? –
l'operatore mod fa un modulo, che è esattamente quello che volevi. Se è possibile inizializzare l'indice a 0 anziché a -1, è possibile utilizzare: lastAgentIDAarhus = agent [index% (agents.Count - 1)] – configurator
Penso che dovrebbe essere 'index% (agents.Count)' –