gpt4 book ai didi

c# - 如何在 C# 中按特定条件对对象列表 进行排序

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:41:50 24 4
gpt4 key购买 nike

我有这个类,在我们的应用程序中,它被驱动程序使用。当司机打开应用程序时,它应该会显示当天的日程安排,包括客户接送时间和目的地。

public class PickUps
{
public DateTime PickUpTime { get; set; }
public int PassengerId { get; set; }
public String PassengerName { get; set; }
public GeoCoordinate PassengerLocation { get; set; }
}

List<PickUps> objListPickUps = new List<PickUps>();
objListPickUps = TravelAPI.GetPickupList(int PassenegerId); // fill list of PickUps

现在我想按最接近的 PickUpTime 过滤此列表(假设他在上午 11 点打开应用程序并且安排在上午 10 点 30 分和中午 12 点取件,它应该返回上午 10 点 30 分取件对象的详细信息。如果应用程序打开上午 11 点,取件时间为上午 10 点,下一次取件时间为中午 12 点,那么它应该返回上午 10 点的对象,即当“当前和上一个”与“当前和下一个取件”之间的差异相同时)

我在下面进行了尝试,但没有得到我期望的上述结果。我需要添加任何其他条件吗?

var res = objListPickUps.OrderBy( x => (x.PickupTime - DateTimew.Now).Duration).FirstOrDefault();

最佳答案

Duration() 是一种方法,而不是属性或字段:

var closestPickup = objListPickUps.OrderBy(x => (x.PickUpTime - DateTime.Now).Duration()).FirstOrDefault(); 

关于c# - 如何在 C# 中按特定条件对对象列表 <t> 进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35609759/

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