- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
public static T ElementAtReverse<T>(this IEnumerable<T> source, int index)
{
while (true)
{
var array = source as T[] ?? source.ToArray();
var elementsCount = array.Count();
if (index < elementsCount || elementsCount == 0)
return array.ElementAt(elementsCount - 1 - index);
source = array;
index = index % elementsCount;
}
}
Комментарии (0) RSS
Добавить комментарий