У меня есть следующий список различных строк:
"A"
"Б"
"C"
Если я хочу элемент после A, я получаю B. После B я получаю C. После C я получаю A. В настоящее время у меня есть следующий код, но по какой-то причине мне кажется, что есть может быть, лучше сделать это (? ).
private string GetNext(IList<string> items, string curr)
{
if (String.IsNullOrWhitespace(curr))
return items[0];
var index = items.IndexOf(curr);
if (index == -1)
return items[0];
return (index + 1 == items.Count) ? items[0] : items[index + 1];
}
Я определенно открыт для LINQ -подобного способа сделать это:)