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();

私はそのようなクエリが初めてで、以前に使用したことがありません

編集: LstAdvancePaymentRep に繰り返しがあるため、個別の会社名を取得するために Distinct を使用しています

ここに画像の説明を入力

編集:これを試してみました

 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 に答える