Как отсортировать ArrayList, содержащий более 1 параметра на объект в алфавитном порядке? - PullRequest
1 голос
/ 09 мая 2011

Привет (Не знаю, имеет ли название смысл)

У меня есть ArrayList, в котором может содержаться различное количество объектов.

Пример

private ArrayList items = new ArrayList();
var list = web.Lists[ListName];

items.Add(new { GroupName = value });

foreach (SPListItem item in list.Items)
{
   items.Add(new { GroupName = value, ItemID = item.ID, ItemName = item.Name });
}

Как вы можете видеть выше, у меня есть объект, содержащий только GroupName, а затем объект, содержащий GroupName, ItemID и ItemName

. Я хочу отсортировать всеэлементы по их ItemName.

У меня нет проблем с сортировкой, когда это только один параметр, но когда это несколько параметров, я не понимаю.Как мне это сделать?

1 Ответ

2 голосов
/ 09 мая 2011

EDIT: сортировка перед добавлением в новый список

foreach(SPListItem item in list.Items.Cast<SPListItem>.OrderBy(i => i.Name))
{
   items.Add(new { GroupName = value, ItemID = item.ID, ItemName = item.Name });
}

Новее РЕДАКТИРОВАТЬ: Если вам нужна просто перечисляемая коллекция (без массива, в котором вы не можете легко извлечь элементы), вы можете просто использовать оператор LINQ Select.

var items = ist.Items.Cast<SPListItem>.OrderBy(i => i.Name).Select(i => new { GroupName = value, ItemID = i.ID, ItemName = i.Name });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...