我一直在研究next()
和功能在一组数据previous()
上从记录转移到记录。IEnumerable<T>
我想出的方法完美地工作并且总是返回我需要的类型——除了第一条和最后一条记录。如果我查看最后一条记录,我希望 LINQ 返回第一条记录,如果查看第一条记录,则前一条记录将是最后一条。使记录之间的移动永无止境。
我目前有这些方法,(我已经重命名了隐私类型): -
private static Teddy _getNext(string code, IEnumerable<Teddy> teddies)
{
return teddies.SkipWhile(i => !i.Code.Equals(code.ToUpper())).Skip(1).FirstOrDefault();
}
private static Teddy _getPrevious(string code, IEnumerable<Teddy> teddies)
{
return teddies.TakeWhile(i => !i.Code.Equals(code.ToUpper())).LastOrDefault();
}
我仍然希望 LINQ 返回一个Teddy
类型 - 否则我会遇到各种麻烦处理 null 类型。有人可以帮忙吗?
帮助表示赞赏。