c# List集合排序
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集合排序的更多相关文章
- Java比较器对数组,集合排序一
数组排序非常简单,有前辈们的各种排序算法,再加上Java中强大的数组辅助类Arrays与集合辅助类Collections,使得排序变得非常简单,如果说结合比较器Comparator接口和Collato ...
- ArrayList集合排序
using System;using System.Collections;using System.Collections.Generic;using System.Text; namespace ...
- 【Java进阶】---map集合排序
map集合排序 这篇文章讲的不仅仅是map排序,比如把对象按某一属性排序,它都可以解决这些问题. 比如,有N个对象,每个对象有个属性就是成绩,成绩分:优秀,良好,合格.那我们如何按 ...
- CopyOnWriteArrayList集合排序异常问题
1.集合自定义排序实现 对List集合的自定义排序想必大家都知道要使用如下的方式,通过实现Comparator接口并实现compare方法来实现. /** * * @方法名 changeChain * ...
- 二维码扫描&集合排序
一.二维码扫描机制 二维条码/二维码(2-dimensional bar code)是用某种特定的几何图形按一定规律在平面(二维方向上)分布的黑白相间的图形记录数据符号信息的:在代码编制上巧妙地利用构 ...
- .Net中集合排序的一种高级玩法
背景: 学生有名称.学号, 班级有班级名称.班级序号 学校有学校名称.学校编号(序号) 需求 现在需要对学生进行排序 第一排序逻辑 按学校编号(序号)排列 再按班级序号排列 再按学生学号排列 当然,在 ...
- Java集合排序及java集合类详解--(Collection, List, Set, Map)
1 集合框架 1.1 集合框架概述 1.1.1 容器简介 到目前为止,我们已经学习了如何创建多个不同的对象,定义了这些对象以后,我们就可以利用它们来做一 ...
- Java提高(5)---map集合排序
map集合排序 这篇文章讲的不仅仅是map排序,比如把对象按某一属性排序,它都可以解决这些问题. 比如,有N个对象,每个对象有个属性就是成绩,成绩分:优秀,良好,合格.那我们如何按照成绩的好坏进行排序 ...
- 集合排序 Comparator和Comparable的使用区别
Java 排序 Compare Comparator接口 Comparable接口 区别 在Java中使用集合来存储数据时非常常见的,集合排序功能也是常用功能之一.下面看一下如何进行集合排序,常用的 ...
- map集合排序
默认情况下,HashMap.HashTable.TreeMap.LinkedHashMap的排列顺序比较: package com.per.sdg.demo; import java.util.Has ...
随机推荐
- iOS 6分享列表——UIActivityViewController详解
iOS 6分享列表——UIActivityViewController详解 2013-06-03 01:42:33 发表评论 在iOS 6之后提供了一个分享列表视图,它通过UIActivity ...
- 前端面试题之js篇
前端面试也可为是鱼龙混杂,各公司面试题的种类也大不相同,有的公司注重基础语法,面试题偏于ES,有的公司偏于页面逻辑,会考差一些js的应用,现将遇到过的题和典型的题整理一下. 1. 0.2-0.1 == ...
- ORA-19573: cannot obtain exclusive enqueue for datafile 1
还原Oracle数据库时出现ORA-19870和ORA-19573错误,如: RMAN> restore database; Starting restore at 11-DEC-12 usin ...
- [科普]MinGW vs MinGW-W64及其它
转载:http://tieba.baidu.com/p/3186234212?pid=54372018139&cid=#54372018139 这里也转一下吧. 部分参照备忘录原文: bitb ...
- How to find friends
How to find friends 思路简单,编码不易 1 def check_connection(network, first, second): 2 link_dictionary = di ...
- 【CF689D Friends and Subsequences】二分搜索,区间查询
题意:给定两个整数序列a,b,将a,b对齐,问有多少个区间满足a的区间内最大值等于b的区间内最小值. 数据范围:区间长度n属于[1, 200000],序列中的元素在整型范围内 思路:枚举所有n*(n+ ...
- 【HDU2795】Billboard(线段树)
大意:给一个h*w的格子,然后给出多个1*w的板子往格子里面填,如果有空间尽量往上一行填满,输出行数,无法填补,则输出-1: 可以使用线段树转化问题,将每一排的格子数目放到每一个叶子节点上,然后每有一 ...
- Cookie知识点小结
问题是什么?有哪些技术?如何解决? 1. Cookie 1)完成回话跟踪的一种机制:采用的是在客户端保存Http状态信息的方案 2)Cookie是在浏览器访问WEB服务器的某个资源时,由WEB服务器在 ...
- 内外连接、组函数、DDL、DML和TCL
前言 cross join ,是笛卡尔积:nature join 是自然连接. 正文 内外连接 inner join inner join 的inner能够省略. 内连接 在一个表中可以找到在还有一个 ...
- map的类型映射
以下是使用STL中map类型,对类型的转换示例,主要可以解决的问题,也就是一般的类型之间的相互转换,可以较好的解决相关的问题. 以下是C++源码,比较简短,容易理解的. #include " ...