Как получить следующий элемент списка в C#?
Есть список значений, назовем его allAccess существуют пользователи и у каждого свой локальный список access. Каждый раз когда выполняется функция, нужно проверить есть ли полученное значение в списке access и если да, то добавить следующий из allAccess. При этом не забывая проверять, не "упираемся" ли мы в конец основного списка allAccess. Я написал это как то так:
// accessName получили выше
string[] arr = new string[allAccess.Count];
for (var i = 0; i < allAccess.Count; i++)
{
arr[i] = allAccess.ElementAt(i).Key;
if (arr[i] == accessName)
{
if (!user.access.Contains(accessName))
{
if (arr[i] == allAccess.Last().Key) user.access.Add(arr[i]);
else user.access.Add(arr[i+1]);
}
}
}
Почему то не добавляет в список "следующий элемент" при том что были выполнены все необходимые условия. И user.access точно имеет в себе accessName