using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls; public partial class ListRate : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
List<TicketRuleTimeInfo> list = new List<TicketRuleTimeInfo>
{
new TicketRuleTimeInfo("B",,,"",0.2m,0.1m),
new TicketRuleTimeInfo("C",,,"",0.3m,0.1m),
new TicketRuleTimeInfo("D",,,"",0.4m,0.1m),
new TicketRuleTimeInfo("A",,,"",0.1m,0.1m),
};
foreach (var item in list)
{
Response.Write(item.DepartBA + ":" + item.Rate);
}
Console.WriteLine("排序后");
list.Sort(CompareByRate);
Response.Write("========================");
foreach (var item in list)
{
Response.Write(item.DepartBA + ":" + item.Rate);
} }
public static int CompareByRate(TicketRuleTimeInfo x, TicketRuleTimeInfo y)//从大到小排序器
{
if (x == null)
{
if (y == null)
{
return ;
} return ; }
if (y == null)
{
return -;
}
int retval = y.Rate.CompareTo(x.Rate);
return retval;
}
}
public class TicketRuleTimeInfo
{
public TicketRuleTimeInfo(string departBA, int minTime, int maxTime, string stadardCabin, decimal rate, decimal lowCharge)
{
DepartBA = departBA;
MinTime = minTime;
MaxTime = maxTime;
StandardCabin = stadardCabin;
Rate = rate;
LowCharge = LowCharge;
}
private string _DepartBA = "before";
/// <summary>
/// 起飞前后{before起飞前、after起飞后}
/// </summary>
public string DepartBA
{
get { return _DepartBA; }
set { _DepartBA = value; }
}
private int _MinTime = ;
/// <summary>
/// 时间区间最低{单位小时hour: 起飞前(DepartTime-XePnrTime)大于MinTime;起飞后System.Math.Abs(DepartTime-XePnrTime)大于MinTime;}
/// </summary>
public int MinTime
{
get { return _MinTime; }
set { _MinTime = value; }
}
private int _MaxTime = ;
/// <summary>
/// 时间区间最高{单位小时hour: 起飞前(DepartTime-XePnrTime)小于等于MaxTime;起飞后System.Math.Abs(DepartTime-XePnrTime)小于等于MaxTime;}
/// </summary>
public int MaxTime
{
get { return _MaxTime; }
set { _MaxTime = value; }
}
private string _StandardCabin = "";
/// <summary>
/// 基准舱位
/// </summary>
public string StandardCabin
{
get { return _StandardCabin; }
set { _StandardCabin = value; }
}
private decimal _Rate = ;
/// <summary>
/// 费率%
/// </summary>
public decimal Rate
{
get { return _Rate; }
set { _Rate = value; }
}
private decimal _LowCharge = ;
/// <summary>
/// 最低手续费{单位元}
/// </summary>
public decimal LowCharge
{
get { return _LowCharge; }
set { _LowCharge = value; }
}
}

c# List集合排序的更多相关文章

  1. Java比较器对数组,集合排序一

    数组排序非常简单,有前辈们的各种排序算法,再加上Java中强大的数组辅助类Arrays与集合辅助类Collections,使得排序变得非常简单,如果说结合比较器Comparator接口和Collato ...

  2. ArrayList集合排序

    using System;using System.Collections;using System.Collections.Generic;using System.Text; namespace ...

  3. 【Java进阶】---map集合排序

    map集合排序         这篇文章讲的不仅仅是map排序,比如把对象按某一属性排序,它都可以解决这些问题.   比如,有N个对象,每个对象有个属性就是成绩,成绩分:优秀,良好,合格.那我们如何按 ...

  4. CopyOnWriteArrayList集合排序异常问题

    1.集合自定义排序实现 对List集合的自定义排序想必大家都知道要使用如下的方式,通过实现Comparator接口并实现compare方法来实现. /** * * @方法名 changeChain * ...

  5. 二维码扫描&集合排序

    一.二维码扫描机制 二维条码/二维码(2-dimensional bar code)是用某种特定的几何图形按一定规律在平面(二维方向上)分布的黑白相间的图形记录数据符号信息的:在代码编制上巧妙地利用构 ...

  6. .Net中集合排序的一种高级玩法

    背景: 学生有名称.学号, 班级有班级名称.班级序号 学校有学校名称.学校编号(序号) 需求 现在需要对学生进行排序 第一排序逻辑 按学校编号(序号)排列 再按班级序号排列 再按学生学号排列 当然,在 ...

  7. Java集合排序及java集合类详解--(Collection, List, Set, Map)

    1         集合框架 1.1         集合框架概述 1.1.1         容器简介 到目前为止,我们已经学习了如何创建多个不同的对象,定义了这些对象以后,我们就可以利用它们来做一 ...

  8. Java提高(5)---map集合排序

    map集合排序 这篇文章讲的不仅仅是map排序,比如把对象按某一属性排序,它都可以解决这些问题. 比如,有N个对象,每个对象有个属性就是成绩,成绩分:优秀,良好,合格.那我们如何按照成绩的好坏进行排序 ...

  9. 集合排序 Comparator和Comparable的使用区别

    Java 排序 Compare  Comparator接口 Comparable接口 区别 在Java中使用集合来存储数据时非常常见的,集合排序功能也是常用功能之一.下面看一下如何进行集合排序,常用的 ...

  10. map集合排序

    默认情况下,HashMap.HashTable.TreeMap.LinkedHashMap的排列顺序比较: package com.per.sdg.demo; import java.util.Has ...

随机推荐

  1. XJOI网上同步训练DAY1 T1

    思路:我们考虑由于没有人的区间会覆盖其他人,所以我们将区间按左端点排序,发现如果地盘长度已知,可以贪心地尽量往左放,来判断是否有解,因此做法很简单,就是二分答案,然后O(n)贪心判定,复杂度为O(nl ...

  2. POJ 3675 Telescope

    题意:给定一个不自交的多边形,要求和圆心在原点的圆的面积交. 思路:同POJ2986,是加强版 代码: #include<algorithm> #include<cstdio> ...

  3. VS2010的openssl源码编译方法

    http://download.csdn.net/download/soucula/9591308

  4. VS如何关闭 ReSharper 提示

    IDE->工具->选项->click "suspend now" button

  5. [置顶] 【其他部分 第一章 矩阵】The C Programming Language 程序研究 【持续更新】

    其他部分 第一章 矩阵 一.矩阵的转置   问题描述: 编写函数,把给定的任意一个二维整型矩阵转换为其转置矩阵. 输入: 1 2 3 4 5 6 输出: 1 4 2 5 3 6 分析 题目要求编写一个 ...

  6. Android应用开发学习之AlertDialog对话框

    作者:刘昊昱 博客:http://blog.csdn.net/liuhaoyutz 本文中我们通过一个例子来看AlertDialog对话框的实现,其运行效果如下: 主布局文件main.xml内容如下: ...

  7. UGUI 快捷键创建UGUI组件

      使用NGUI的时候还有xxx快捷键创建, spirte,label,button等等. 在UGUI里面的时候好像是没有快捷键的. 不知道以后多久才能有这个功能.  在家里闲无聊的时候写了一个脚本, ...

  8. 平时的笔记04:处理stagger模块

    #! /usr/bin/env python3 # # __init__.py # From the stagger project: http://code.google.com/p/stagger ...

  9. 集成支付宝SDK遇到的坑

    一.首先我先把集成过程说一下.小编想说的话:支付宝是我做支付中觉得坑最多的一个,各种编译不过,各种出问题. 废话不多说,进入主题:1.首先当前是下载官方SDK啦,当前你也可以通过cocopods进行导 ...

  10. python学习之路-1 python简介及安装方法

    python简介 一种面向对象.解释型计算机程序设计语言,由Guido van Rossum于1989年发明,第一个公开发行版发行于1991年. 目前最新版本为3.5.1,发布于2015年12月07日 ...