首页 > 解决方案 > 如何在linq c#中使用if条件?

问题描述

我有一个数据表, 例如startdate,时间enddate

startdate     enddate          time
03/19/2020    03/19/2020       15:23
03/19/2020    03/20/2020       12:26
03/19/2020    03/19/2020       05:23
03/19/2020    03/19/2020       09:23
03/19/2020    03/21/2020       04:23 

我想使用 LINQ 查询来获得 startdate = enddate 的最短时间

我使用这个查询

time = table.Where(x => x.StartDate == x.EndDate).Min(x=>x.time)

但是当我运行此代码时,它给了我异常 InValidOperationException 未被用户代码处理

我必须使用的另一个查询是

time = table.OrderBy(x=>x.StartDate == x.EndDate).First().Time

但它给了我一个不正确的输出

任何建议我该如何解决这个问题

标签: c#linqif-statementwhere-clause

解决方案


你可以试试这个方法

time = table.OrderBy(x => x.time).FirstOrDefault(x => x.StartDate == x.EndDate)?.time;

推荐阅读