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 ...
随机推荐
- meta 属性
几乎所有的网页里,我们可以看到类似下面这段的html代码:<head><meta http-equiv="content-Type" content=" ...
- 如何成为一个牛逼的C/C++程序员?
这个题目的噱头太大,要真的写起来, 足够写一本书了. 本人是过来人, 结合自身的体会和大家交流一下,希望新人能少走弯路. 每个人的情况不一样,我下面的描述可能并不适合每一个看到这篇文章的人. 一.C/ ...
- WPF 如何缓解大量控件加载缓慢的问题
最近有一个项目需要加载大量的控件,导致系统出现卡顿问题,经过几天的努力,终于搞定了,写一下备忘. 解决方案是首次加载时只显示可见区域控件,之后使用辅助线程进行分批加载,将分批加载的线程优先级别设置为空 ...
- java设计模式--结构型模式--外观模式
外观模式 概述 为子系统中的一组接口提供一个一致的界面,Facade模式定义了一个高层接口,这个接口使得这一子系统更加容易使用. 适用性 1.当你要为一个复杂子系统提供一个简单接口时.子系统往往因为不 ...
- web字体格式及几种在线格式转换工具介绍
原文地址:http://blog.csdn.net/xiaolongtotop/article/details/8316554 目前,文字信息仍是网站最主要的内容,随着CSS3技术的不断成熟,Web字 ...
- Palindrome Subarrays
给定输入字符串,要求判断任意子字符串是否对称. 基本思路就是DP 写出DP表达式为 dp[i][j] = dp[i + 1][j - 1] && (s[i] == s[j]) dp[i ...
- 【转】Linux下socket keep alive讲解
[需求]不影响服务器处理的前提下,检测客户端程序是否被强制终了.[现状]服务器端和客户端的Socket都设定了keepalive属性.服务器端设定了探测次数等参数,客户端.服务器只是打开了keepal ...
- Cocoa Pods的安装
CocoaPods是用Ruby实现的,要想使用它首先需要有Ruby的环境.幸运的是OS X系统默认已经可以运行Ruby了,因此我们只需执行以下命令: sudo gem install -n /usr/ ...
- Rotate It !!(思维)
Rotate It !! Time Limit:2000MS Memory Limit:65536KB 64bit IO Format:%I64d & %I64u Submit ...
- 批量设置AssetBundleName
using UnityEngine; using System.Collections; using UnityEditor; using System.IO; public class Change ...