Вот умный способ получить эти средние значения - Пропустить, Реверс, Пропустить (что это, UNO?).
List<SomeClass> myList = foos
.Select(f => new SomeClass{ ..., CssClass=string.Empty })
.ToList();
if (myList.Any())
{
myList.First().CssClass = "first";
myList.Last().CssClass = "last";
foreach(var z in myList.Skip(1).Reverse().Skip(1))
{
z.CssClass = "mid";
}
}
_repeater.DataSource = myList;
Вот лучший способ решения этой проблемы.
List<SomeClass> myList = foos
.Select(f => new SomeClass{ ..., CssClass="mid" })
.ToList();
if (myList.Any())
{
myList.First().CssClass = "first";
myList.Last().CssClass = "last";
}
_repeater.DataSource = myList;
Конечно, ни один из этих методов не будет работать, если вы используете анонимные типы (их свойства доступны только для чтения). Не используйте анонимные типы для результатов запроса.