首页 > 解决方案 > 列表排序问题

问题描述

我有一个程序员列表:

programmers.Add(new Programmer("Jake", 1.9, 2000));
programmers.Add(new Programmer("Richard", 1.0, 1300)); 

我需要创建一个新的排序程序员列表 value => 2000 / 1.9。(向上)

我不知道如何按此结果除以intdouble排序programmers。你能帮我怎么做吗?

到目前为止,我已经尝试过:

var ProgrammersSorted = programmers.OrderBy((x,y) => x.DailyWage / y.Speed).ToList();

程序员类:

public class Programmer
{
    public string Name { get; private set; }
    public double Speed { get; private set; }
    public int DailyWage { get; private set; }

    public Project Project { get; private set; }

    public string ProjectName
    {
        get
        {
            return Project?.Name ?? "No project assigned";
        }
    }

    public Programmer(string name, double speed, int dailyWage)
    {
        Name = name;
        Speed = speed;
        DailyWage = dailyWage;
    }
}

标签: c#.netlistsorting

解决方案


你很亲密。试试这个:

var programmersSorted = programmers.OrderBy(x => x.DailyWage / x.Speed).ToList();

推荐阅读