gpt4 book ai didi

c# - 在 Linq 组中查找最大和最小 DateTime

转载 作者:太空狗 更新时间:2023-10-30 00:32:48 27 4
gpt4 key购买 nike

我正在尝试从 CSV 导入中查找最大和最小 DateTime

我用这个从临时 DataTable 导入数据:

var tsHead = from h in dt.AsEnumerable()
select new
{
Index = h.Field<string>("INDEX"),
TimeSheetCategory = h.Field<string>("FN"),
Date = DdateConvert(h.Field<string>("Date")),
EmployeeNo = h.Field<string>("EMPLOYEE"),
Factory = h.Field<string>("FACTORY"),
StartTime = DdateConvert(h.Field<string>("START_TIME")), //min
FinishTime = DdateConvert(h.Field<string>("FINISH_TIME")), //max
};

效果很好。然后我想对数据进行分组并显示开始时间和结束时间,这是各个字段的最小值/最大值。

到目前为止我有这个:

var tsHeadg = from h in tsHead
group h by h.Index into g //Pull out the unique indexes
let f = g.FirstOrDefault() where f != null
select new
{
f.Index,
f.TimeSheetCategory,
f.Date,
f.EmployeeNo,
f.Factory,
g.Min(c => c).StartTime, //Min starttime should be timesheet start time
g.Max(c => c).FinishTime, //Max finishtime should be timesheet finish time
};

考虑到 g.Ming.Max 会给我每个时间表的最低和最高 DateTime(按索引分组)

但这不起作用...找到组内 DateTimes 的最高值和最低值的最佳方法是什么?

最佳答案

尝试使用这个

var tsHeadg = 
(from h in tsHead
group h by h.Index into g //Pull out the unique indexes
let f = g.FirstOrDefault()
where f != null
select new
{
f.Index,
f.TimeSheetCategory,
f.Date,
f.EmployeeNo,
f.Factory,
MinDate = g.Min(c => c.StartTime),
MaxDate = g.Max(c => c.FinishTime),
});

关于c# - 在 Linq 组中查找最大和最小 DateTime,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15367615/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com