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

时间:2016-02-25 20:16:55

标签: c#

我有一个具有Date属性和Z属性的Object。

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

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

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:1)

首先,该代码甚至没有编译,因为select是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();
}