Как отсортировать коллекцию GridItemCollection - PullRequest
1 голос
/ 25 июня 2009

У меня есть коллекция GridItemCollection, определенная как

GridItemCollection items = (GridItemCollection) Session["driveLayout"];

Я хочу отсортировать коллекцию на основе одного из элементов в каждом GridItem. В частности этот пункт

item["VolumeGroup"].ToString().ToLower()

Каков наилучший способ сделать это? Спасибо

1 Ответ

0 голосов
/ 25 июня 2009

Вы можете использовать метод расширения LINQ OrderBy:

GridItemCollection items = (GridItemCollection)Session["driveLayout"];
var sortedItems = items.OfType<GridItem>().OrderBy(item => item.GridItems["VolumeGroup"].ToString().ToLower());

OfType () Преобразует IEnumerable в IEnumerable, где T - это тип, указанный в параметре type. Поскольку мы неявно знаем, что GridItemCollection является коллекцией элементов, типизированных GridItem, мы можем сделать это.

Получив IEnumerable, мы получаем доступ ко всем методам расширения LINQ, включая OrderBy, для которого в качестве параметра сортировки используется лямбда-выражение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...