gpt4 book ai didi

c# 使用 IComparable 接口(interface)对数组进行排序

转载 作者:太空宇宙 更新时间:2023-11-03 18:58:34 25 4
gpt4 key购买 nike

我有一个包含 5 个工作的 jobArray 数组,其中包含一个描述完成所需的小时数,以及一个用户输入的小时工资 .

打印时我需要按总费用 (小时 * 小时工资) 的升序对数组进行排序。

作业要求我在执行此操作时使用IComparable 接口(interface),但我不确定如何使用它。任何帮助将不胜感激,谢谢

这是我的作业

class Job : IComparable
{

public Job(string description, int hours, double hourRate, double fee)
{
Description = description;
hoursToComplete = hoursToComplete;
hourlyRate = hourlyRate;
totalFee = totalFee;

}

这是我做的比较totalFees的界面

    public int CompareTo(Job o)
{
int returnVal;
Job temp = (Job)o;
if (this.totalFee > temp.totalFee)
returnVal = 1;
else
if (this.totalFee < temp.totalFee)
returnVal = -1;
else
returnVal = 0;
return returnVal;

}

我不确定在打印出 total fees 时如何对 jobs 进行排序。

最佳答案

当您覆盖“compareTo”方法时,如果您调用“sort”,则会自动调用 overrideen 方法。

这是微软的数组的一个很好的例子。 https://support.microsoft.com/en-us/kb/320727

下面是“LIST”的一个例子(伪代码)

List<Job> list = new List<Job>();

list.Add(new Job() { //Intialize arguments });
list.Add(new Job() { //Intialize arguments });
list.Add(new Job() { //Intialize arguments });
list.Add(new Job() { //Intialize arguments });
list.Add(new Job() { //Intialize arguments });

// Uses IComparable.CompareTo()
list.Sort();

关于c# 使用 IComparable 接口(interface)对数组进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39824848/

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