如何按字母顺序对每个对象包含 1 个以上参数的 ArrayList 进行排序
本文关键字:参数 ArrayList 排序 包含 顺序 何按字 对象 | 更新日期: 2023-09-27 17:55:53
问候(不知道标题是否有意义)
我有一个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
对所有项目进行排序。
我对它进行排序没有问题,但是当它是多个参数时,我一无所知。我该怎么做?
编辑:在添加到新数组列表之前进行排序
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 });