C# sharepoint合并多个日历spquery arraylist排序

C# sharepoint合并多个日历spquery arraylist排序,c#,visual-studio-2010,sharepoint,sharepoint-2010,C#,Visual Studio 2010,Sharepoint,Sharepoint 2010,在我的代码中,我已将所有日历事件存储在名为“arlist”的arraylist中。我想按事件开始日期对arraylist进行排序,以便对所有事件进行排序。关于如何对arraylist进行排序,有什么想法吗 谢谢! J foreach(CurrentSiteCollection.AllWebs中的SPWeb) { SPListCollection WebList=web.Lists; 尝试 { SPList Calist=网络列表[“日历”]; SPQuery Iquery=new SPQuery

在我的代码中,我已将所有日历事件存储在名为“arlist”的arraylist中。我想按事件开始日期对arraylist进行排序,以便对所有事件进行排序。关于如何对arraylist进行排序,有什么想法吗

谢谢! J

foreach(CurrentSiteCollection.AllWebs中的SPWeb)
{
SPListCollection WebList=web.Lists;
尝试
{
SPList Calist=网络列表[“日历”];
SPQuery Iquery=new SPQuery();
Iquery.ExpandRecurrence=true;
Iquery.Query=“”+
"1" +
"" +
"             ";
Iquery.CalendarDate=sdate;
SPListItemCollection gItems=Calist.GetItems(Iquery);
如果(gItems.Count>0)
{
arlist.Add(gItems);
添加(string.Format(“{0}/{1}”ID=“,Calist.ParentWebUrl,Calist.Forms[PAGETYPE.PAGE_DISPLAYFORM].Url));
}
}
捕获(例外)
{ }

为什么不使用泛型集合而不是ArrayList

声明

 List<SPListItem> arlist = new List<SPListItem>();
而不是
arlist.Add(gItems);

最后,当您完成所有子站点的循环并添加所有事件时,请按如下方式排序

arlist.OrderBy((x) => x.Item("EventDate"));
不要忘记添加命名空间system.collections.generic

foreach (SPListItem Item in gItems) {
arlist.Add(Item);
}
arlist.OrderBy((x) => x.Item("EventDate"));