检查一个列表中的对象是否高于另一个列表中的对象

时间:2017-10-05 19:30:31

标签: c#

我有以下情况:

    List<Driver> sortedDrivers = new List<Driver>();
    List<Driver> lastLapDrivers = new List<Driver>();

每个驱动程序都具有以下属性:

    public string Name { get; set; }
    public int Pace { get; set; }

    public int Id { get; set; }

    public List<double> lapTime { get; set; }

    public double totalTime { get; set; }

    public int Position { get; set; }

    public Team Team { get; set; }

两个列表之间的区别在于一个列表的对象排序不同。如果列表中的每个对象比lastLapDrivers列表中的更高,我希望在sortedDrivers列表中看到每个对象。

2 个答案:

答案 0 :(得分:2)

您可以使用IndexOf(T item);方法获取列表中项目的索引

示例:

int myDriversIndex = sortedDrivers.IndexOf(myDriver);

然后你可以将它与lastLapDrivers中的索引进行比较,以确定哪个是第一个。

答案 1 :(得分:0)

也许使用lambda Sum

var TotallastLapDrivers=lastLapDrivers.Sum(x=>x.lapTime );
var TotalsortedDrivers=sortedDrivers.Sum(x=>x.lapTime );

if(TotallastLapDrivers>TotalsortedDriverslastLapDrivers)
{
//do something
}

希望有帮助!