C# 列出日期、时间和字符串引用

C# 列出日期、时间和字符串引用,c#,winforms,linq,C#,Winforms,Linq,我有一个排序的数据列表来填充gridview控件。 列表按日期时间排序 我需要在每天内找到每个唯一引用的最近3次(一天内可能有多个唯一引用)。如果一天内只有一个ref行,则忽略该行 我想它需要分为天和引用,然后按最新的排序,并在该“块”中包含引用计数。任何想法都值得赞赏 它是对象的标准列表(对象具有日期、时间和引用属性),如下所示: 给定列表的支持源 使用以下命令按天对源数据进行分组 每天(组中的值): 使用ref对源数据进行分组 测试组是否有3个以上的值,或筛选没有的值(和) 使用值的按日

我有一个排序的数据列表来填充gridview控件。 列表按日期时间排序

我需要在每天内找到每个唯一引用的最近3次(一天内可能有多个唯一引用)。如果一天内只有一个ref行,则忽略该行

我想它需要分为天和引用,然后按最新的排序,并在该“块”中包含引用计数。任何想法都值得赞赏

它是对象的标准列表(对象具有日期、时间和引用属性),如下所示:

  • 给定
    列表的支持源
  • 使用以下命令按天对源数据进行分组
  • 每天(组中的值):
    • 使用ref对源数据进行分组
    • 测试组是否有3个以上的值,或筛选没有的值(和)
    • 使用值的按日期时间排序(最晚为第一)
    • 3个日期
比如说:

公共静态IEnumerable过滤器(列表读数)
{
列表结果=新列表();
var dayGroupings=读数.GroupBy(r=>r.Day);
foreach(dayGroupings中的var dayGroup)
{
var refGroupings=dayGroup.GroupBy(g=>g.Ref);
foreach(refGroupings.Where(g=>g.Count()>=3)中的var refGroup)
{
AddRange(refGroup.OrderByDescending(g=>g.Time).Take(3));
}         
}
返回结果;
}

Hi Martin,请您在您的问题中为我们提供输入,而不是快照,以及您希望得到什么输出?我们也对您的尝试感兴趣。到目前为止你做了什么?您是否遇到任何错误或问题?您好,我需要按日期(天)扫描列表,然后在每天内查找参考(第3列),如果有3行或更多行,则查找最近的3行。如果每天有2个或更多引用,那么我需要找到所有3个最近的实例。很难完全解释!您的源数据是如何结构化的?gridview控件是否有ItemsSource支持集合,您可以查询该集合(例如,
集合。Take(3)
)Hi。它是一个标准的对象列表(对象具有日期、时间和引用属性),作为私有列表_listreans=new list();谢谢kjhf,这看起来非常接近要求。林克的力量!
    private List<Reading> _listReadings = new List<Reading>(); 
    DataRow newRow = MyTable.NewRow();
    newRow.ItemArray = new object[]
    {
        new 
        DateTime(_listReadings.TimeStamp.Year,listReadings.TimeStamp.Month),
        GetTime(_listReadings.TimeStamp),
        _listReadings.Ref,
    };
    MyTable.Rows.Add(newRow);