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

约翰

我有一个jobArray阵列包含一个晚五组的工作descriptionhours needed to complete和一个hourly pay that a user enters

在打印时,我需要按总费用的升序对数组进行排序(hours * hourly pay)

作业需要我在使用IComparable interface使用,但不确定如何使用。任何帮助,将不胜感激,谢谢

这是我的job

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;

    }

我不确定从jobs那里打印时如何排序total fees

柬埔寨Mrinal

这是您的代码的工作版本:

class Job : IComparable<Job>
{
    public string Description { get; set;}

    public int HoursToComplete { get; set;}

    public double HourlyRate { get; set;}

    public double TotalFee { get; set;}

    public Job(string description, 
               int hoursToComplete, 
               double hourlyRate, 
               double totalFee)
    {
        Description = description;
        HoursToComplete = hoursToComplete;
        HourlyRate = hourlyRate;
        TotalFee = totalFee;
    }

    public int CompareTo(Job otherJob)
    {
        int returnVal;

        if (this.TotalFee > otherJob.TotalFee)
            returnVal = 1;
        else
            if (this.TotalFee < otherJob.TotalFee)
            returnVal = -1;
        else
            returnVal = 0;

        return returnVal;
    }
}

现在,既然已经实现了IComparable<Job>,那么在给定的位置List<Job>,只需调用Sort,它将自动调用Jobclass CompareTo,而不是对象class。还要注意,我使用了通用版本IComparable<Job>,而不是IComparable,以避免不必要的类型转换

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

是否可以使用合并排序(C#)根据多个条件对数组进行排序?

来自分类Dev

按C#中元素的频率对数组进行排序

来自分类Dev

按订单C#对数组日期进行排序

来自分类Dev

C# 按对象类型对对象数组进行排序(Icomparable?)

来自分类Dev

使用指针对数组进行排序-C编程

来自分类Dev

C编程:使用指针对数组进行排序的函数

来自分类Dev

使用C中的指针按升序对数组进行排序

来自分类Dev

用C对数组进行冒泡排序

来自分类Dev

对数组C中的元素进行排序

来自分类Dev

Swift:使用NSRange对数组进行排序

来自分类Dev

使用HTML标签对数组进行排序

来自分类Dev

使用模板对数组进行排序

来自分类Dev

如何使用PHP对数组进行排序

来自分类Dev

Python:使用NaN对数组进行排序

来自分类Dev

使用HTML标签对数组进行排序

来自分类Dev

使用中位数对数组进行排序

来自分类Dev

使用javascript对数组表进行排序

来自分类Dev

使用 compareTo 方法对数组进行排序

来自分类Dev

使用 Powershell 对数组值进行排序

来自分类Dev

使用IComparable进行反向排序

来自分类Dev

使用大型数组在C#排序中进行堆排序

来自分类Dev

使用快速排序使用指针对数组进行排序

来自分类Dev

计数排序混乱。不对数组进行排序(C ++)

来自分类Dev

如何基于C#中字符串中元素的出现对数组进行排序?

来自分类Dev

使用排序功能按NSDates对数组进行排序

来自分类Dev

使用插入排序对数组进行排序

来自分类Dev

使用合并排序对数组进行排序

来自分类Dev

在 Ruby 中使用冒泡排序对数组进行排序

来自分类Dev

使用预定义的排序顺序对数组进行排序

Related 相关文章

热门标签

归档