从另一个列表中的列表中的对象获取最大值[C#]

埃尔本

我有一个大问题。

我有一个TaskGroup对象。每个TaskGroup都有:一个“ Task”对象和一个List <TaskGroup>。(其中包含其自身的对象列表)。它应该是一棵树。

具有一个其中包含“列表”的“ TaskGroup”对象。我需要从“任务组”列表中每个对象的“任务”对象中获取最大的Date值。

public class TaskGroup
{
  public ProjectTask Task { get; set;}
  public List<TaskGroup> ChildTask { get; set; } = new List<TaskGroup>();
}
public class Task
{
  public int Id { get; set;}
  public DateTime Date { get; set; }
}

在图表中-使用“我的对象”时,我必须获得以红色标记的最大日期。

在此处输入图片说明

有谁知道如何做到这一点?谢谢

鲁弗斯

要从直子获得最大的日期,您可以使用简单的Linq语句:

var maxDate = taskGroup.ChildTask.Max(c => c.Task.Date);

要从主taskGroup下的所有taskGroups获取最大日期,您可以递归检查所有子项的最大日期:

static DateTime GetMaxDate(TaskGroup group)
{
    if (group == null) return DateTime.MinValue;

    var maxDate = group.Task?.Date ?? DateTime.MinValue;

    foreach (var child in group.ChildTask)
    {
        if (child.Task?.Date > maxDate) maxDate = child.Task.Date;

        foreach (var taskGroup in child.ChildTask)
        {
            var childMax = GetMaxDate(taskGroup);
            if (childMax > maxDate) maxDate = childMax.Date;
        }
    }

    return maxDate;
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Python:如何遍历列表以找到另一个列表中索引为正值的最大值

在 C# 中可以用另一个列表对象替换列表对象

如何在C#中将对象列表中的值分配给另一个列表

使用LINQ从另一个属性分组的列表中删除除最大值以外的所有值

LINQ通过另一个值获取包含在另一个列表中的对象的结果

如何从另一个列表中的列表中获取另一个列表中的值

为什么列表保留C#中另一个空列表的值

根据python中另一个列表的最大值对数组的列索引进行分组

如何获得每个矩阵行的最大值并将它们保存在另一个列表中?

在PySpark列的列表列表中获取第一个元素的最大值

从嵌套列表中获取最大值并使用流转换为一个列表

在lamba表达式中的另一个对象列表中获取对象列表

从另一个查询中获取最大值

Linq-获取具有列表属性的对象,该属性在另一个列表中不包含值

从另一个对象列表中删除重复列表对象值

根据另一个列表中对象的字段值从列表中删除元素-JAVA

如何基于另一个列表中对象的字段值从列表中删除元素

根据另一个列表中的公共值从一个列表中获取值列表的字典

使用 C# 检查另一个列表中的值

如何将值从数组放入C#中的另一个列表

根据另一个列表中的值获取列表值

在另一个列表中搜索列表值

如何在对象列表(C#)中获取函数的最大值?-初学者-

(C# Linq) 当您的 ID 在另一个列表中时从列表中获取项目

获取列表中具有相同最大值的最后一个索引

从与另一个属性对应的对象列表中获取属性列表

在另一个列表中按值匹配顺序排列对象列表

如何从另一个列表中获取列表与值的组合?

如何从另一个JSON对象列表中的一个JSON对象列表中分配值