选择“日期”为特定日期的对象列表的“最大 Z”属性

本文关键字:日期 最大 属性 列表 选择 对象 | 更新日期: 2023-09-27 18:36:11

我有一个对象,它有一个日期属性和一个Z属性。

class myClass
{
    DateTime theDate;
    int Z =0;
}

我基于 SQL 查询创建这些对象的列表然后我需要为特定日期选择最大 Z 值。

public int GetMaxZ(List<myClass> myClasses, DateTime date)
{
    int z=0;
    z = select Z from c in myClasses
        where c.theDate=date 
    //Select the Max somehow
    return z;
}

显然,该代码不允许选择特定日期的最高Z

我曾想过选择所有相同的日期,然后遍历这些日期,但这听起来不像是一个可靠的做法。 有什么帮助吗?

选择“日期”为特定日期的对象列表的“最大 Z”属性

myClasses.Where(x => x.theDate == date)
.Select(x => x.Z)
.OrderByDescending(x => x)
.FirstOrDefault();
首先

,该代码甚至无法编译,因为选择是IQueryable,但您尝试用作int。

但是,为了你的运气,因为它是一个IQueryable,你可以使用Max():

public int GetMaxZ(List<myClass> myClasses, DateTime date)
{
    var z = from c in myClasses
            where c.theDate=date
            select Z;
    return z.Max();
}