我有以下不同字符串的列表:
“A”
“B”
“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 式的方式来做这件事 :)