我有一个List,UserObj有一个DateTime数据成员和一个字符串Name成员.我想在列表中找到具有给定Name InputName和最接近输入DateTime InputDT的DateTime的UserObj
名称和日期时间可能都会出现,但会有一个独特的解决方案.
我想过:
UserObj user = userObjList.Where(u => ((u.Name ==inputName) && (userObjList.Min())).ToList()[0];
Run Code Online (Sandbox Code Playgroud)
但不确定如何指定最低条件?
按两个日期之间的绝对差值对它们进行排序,然后取第一个.
UserObj user = userObjList
.Where(u => u.Name == inputName)
.OrderBy(u => Math.Abs((u.Date - inputDT).TotalSeconds))
.First();
Run Code Online (Sandbox Code Playgroud)
或使用MinBy扩展:
UserObj user = userObjList
.Where(u => u.Name == inputName)
.MinBy(u => Math.Abs((u.Date - inputDT).TotalSeconds));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
856 次 |
| 最近记录: |