繁体   English   中英

排序列表<object>通过抓取具有最近日期的重复项<div id="text_translate"><p>我有一个包含(ID,日期)的对象列表。 在某些情况下,IDS 会重复,但日期不同。 这两个都是字符串。</p><p> 我需要通过获取 ID 和最近日期对列表进行排序,同时删除较旧的日期。</p><p> 例子</p><pre>ID: 1 Date 1-1-2018 ID: 1 Date: 1-1-2019</pre><p> 我试过使用下面的代码。</p><pre> unsortedList.GroupBy(x =&gt; x.Id).Select(group =&gt; group.OrderByDescending(record =&gt; Convert.ToDateTime(record.Date)));</pre><p> 我仍然看到原始形式的 ID。</p><pre> public class Record { public string Id { get; set; } public string Date { get; set; } }</pre></div></object>

[英]Sort List<Object> with Duplicates by grabbing the one with the most recent date

我有一个包含(ID,日期)的对象列表。 在某些情况下,IDS 会重复,但日期不同。 这两个都是字符串。

我需要通过获取 ID 和最近日期对列表进行排序,同时删除较旧的日期。

例子

ID: 1 Date 1-1-2018
ID: 1 Date: 1-1-2019

我试过使用下面的代码。

unsortedList.GroupBy(x => x.Id).Select(group => group.OrderByDescending(record => Convert.ToDateTime(record.Date)));

我仍然看到原始形式的 ID。

public class Record
{
    public string Id { get; set; }
    public string Date { get; set; }
}

您剩下要做的就是获取每个有序组的第一个结果。

var filteredList = unsortedList.GroupBy(x => x.Id)
    .Select(group => group
        .OrderByDescending(record => Convert.ToDateTime(record.Date))
            .First());

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM