C# 如何比较Sharepoint列表项的值?

C# 如何比较Sharepoint列表项的值?,c#,sharepoint,sharepoint-2010,sharepoint-2007,C#,Sharepoint,Sharepoint 2010,Sharepoint 2007,亲爱的各位 我的列表包含日期/时间项,我希望获得日期的最大值。例如,2012年5月1日是今天最近的一天?如何将这些值与C进行比较并获得最新的值?我访问了代码中的列表和项目 using (SPWeb web = SPContext.Current.Site.RootWeb) { SPList alertList = web.Lists["Alert Status"]; if (alertList != null) { foreach (SPL

亲爱的各位

我的列表包含日期/时间项,我希望获得日期的最大值。例如,2012年5月1日是今天最近的一天?如何将这些值与C进行比较并获得最新的值?我访问了代码中的列表和项目

using (SPWeb web = SPContext.Current.Site.RootWeb)
{
      SPList alertList = web.Lists["Alert Status"];
      if (alertList != null)
      {
          foreach (SPListItem alertItem in alertList.Items)
          {
              DateTime startDate = (DateTime)alertItem["Alert Date"];

          }
      }
} 

如果您像这样收集日期:

List<DateTime> dates;
using (SPWeb web = SPContext.Current.Site.RootWeb)
{
  SPList alertList = web.Lists["Alert Status"];
  if (alertList != null)
  {
      dates = alertList.Items.Select(alertItem => (DateTime)alertItem["Alert Date"]).ToList();
  }
} 
这将为您提供最新的绝对日期:

dates.OrderByDowningDate=>date.First

这将为您提供最接近现在的日期:


dates.OrderBydate=>Math.Absdate-DateTime.Now.totalmillizes.First

如果您像这样收集日期:

List<DateTime> dates;
using (SPWeb web = SPContext.Current.Site.RootWeb)
{
  SPList alertList = web.Lists["Alert Status"];
  if (alertList != null)
  {
      dates = alertList.Items.Select(alertItem => (DateTime)alertItem["Alert Date"]).ToList();
  }
} 
这将为您提供最新的绝对日期:

dates.OrderByDowningDate=>date.First

这将为您提供最接近现在的日期:


dates.OrderBydate=>Math.Absdate-DateTime.Now.totalmillizes.First

我建议使用。您可以使用:

如果列表中有很多项,那么SPList.items会非常慢,因为所有项都是从数据库中提取的

更新:

您不应处置SPContext.Current.Site.RootWeb。以后可能会被其他代码引用。使用“仅处置您自己打开的对象”规则作为准则。
有关更多信息,请参阅。

我建议使用。您可以使用:

如果列表中有很多项,那么SPList.items会非常慢,因为所有项都是从数据库中提取的

更新:

您不应处置SPContext.Current.Site.RootWeb。以后可能会被其他代码引用。使用“仅处置您自己打开的对象”规则作为准则。
有关更多信息,请参阅。

您想获取最近的日期还是从今天开始的最近日期(包括过去的日期)?我想获取从今天开始的最近日期。谢谢,您想获取最近的日期还是从今天开始的最近日期,包括过去的日期?我想获取从今天开始的最近日期。感谢+1解释处理SPWeb对象的正确方法。如果您建议LINQ to SharePoint进行操作,那么您的答案会更好。我想不起再写CAML字符串:-+1来解释处理SPWeb对象的正确方法了。如果您建议LINQ to SharePoint进行操作,您的答案会更好。我想不起再写CAML字符串了:-