问候(不知道标题是否有意义)
我有一个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
对所有项目进行排序。
当它只有一个参数时我没有问题排序它,但是当它是多个参数时,我很无能为力。我该怎么做?
答案 0 :(得分:2)
编辑:在添加到新的arraylist之前排序
foreach(SPListItem item in list.Items.Cast<SPListItem>.OrderBy(i => i.Name))
{
items.Add(new { GroupName = value, ItemID = item.ID, ItemName = item.Name });
}
较新的编辑: 如果你只想要一个可枚举的集合(没有arraylist,你无法轻松地从中提取项目),你可以使用LINQ Select运算符。
var items = ist.Items.Cast<SPListItem>.OrderBy(i => i.Name).Select(i => new { GroupName = value, ItemID = i.ID, ItemName = i.Name });