0

我通过此查询获得了不同的公司名称

 List<string> listCieId = new List<string>(from l in LstAdvancePaymentRep select l.CieDesc.Trim()).Distinct().ToList();

我想要做的是获得所有公司的最小日期最大日期listCieId

   List<DateTime> listCieId2 = new List<DateTime>(from l in LstAdvancePaymentRep where l.CieDesc.Trim().Distinct() select l.CtcDtStart.Value).Min().ToList();

List<DateTime> listCieId3 = new List<DateTime>(from l in LstAdvancePaymentRep where l.CieDesc.Trim().Distinct select l.CtcDtEnd.Value).Max().ToList();

我对此类查询不熟悉,以前没有使用过它们

编辑:我正在使用 Distinct 来获得不同的公司名称,因为 LstAdvancePaymentRep 中有重复

在此处输入图像描述

编辑:试过这个

 List<DateTime> lstDatesCtcStartDate = new List<DateTime>(
 from l in LstAdvancePaymentRep where l.CieDesc.Trim().Equals(lblCieName.Text.Trim()) select l.CtcDtStart.Value.Date
 );

如何在 LIST lstDatesCtcStartDate 中找到最短日期

4

1 回答 1

3

尝试:

var minDate = lstDatesCtcStartDate.Min();

或者,如果您的公司对象有一个 Name 和一个 Date 属性,并且每个公司都有多个,并且您想要一个具有最小日期的每个不同公司的列表,那么:

class Company
{
    public string Name { get; set; }
    public DateTime Date { get; set; }
}

var companies = new List<Company>();

var companiesWithMinDate = companies.GroupBy(c => c.Name).Select(g => new { Name = g.Key, Date = g.Min(c => c.Date) });
于 2012-11-18T16:52:21.500 回答