结合IComparer接口实现对ListBox排序
来源:互联网 发布:摇号抽奖软件 编辑:程序博客网 时间:2024/05/02 01:01
需求描述:
有个listbox,里面的值是 110 10 70 40 260
但是设置sort=true的属性后,他的顺序就变为 10 110 260 40 70
如何做才能让它得到正确的顺序 10 40 70 110 260
这个listbox里的数字都是string型 而且不想让它变为int型
请问要如何做才对?
========================
结合IComparer接口实现排序:
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
string[] str = new string[] { "110", "10" ,"70" ,"40" ,"260" };
object[] data = Sort<string>(str);
listBox1.Sorted = false;//切记,一定为false
listBox1.DataSource = data;
}
object[] Sort<T>(T[] t)//自定义排序
{
double d=0.0;
ArrayList list = new ArrayList(t);
//实例化MyCompare
MyCompare com = new MyCompare();
list.Sort(com);
return list.ToArray();
}
}
class MyCompare : IComparer//自定义MyCompare类
{
private CaseInsensitiveComparer ObjectCompare;
public MyCompare()
{
ObjectCompare = new CaseInsensitiveComparer();
}
public int Compare(object x, object y)//比较大小
{
// 比较
double out1, out2;
if (double.TryParse(x.ToString(), out out1) && double.TryParse(y.ToString(), out out2))
return ObjectCompare.Compare(out1, out2);
else
{
// 如果相等返回0
return 0;
}
}
}
- 结合IComparer接口实现对ListBox排序
- C# List<> 实现 IComparer 接口 排序
- 《Effective C#》 Item 26:对需要排序的对象实现IComparable和IComparer接口
- 笔记(显示实现接口,实现IComparable,IComparer接口来排序)
- 使用IComparable和IComparer接口对集合进行排序
- Effective C# 使用IComparable和IComparer接口实现排序关系
- 实现 ArrayList 的 IComparer排序
- Icomparable与Icomparer实现显示接口以显示接口排序为准
- Ilist排序,写一个对象比较的类,实现IComparer接口
- Effective C# Item26:使用IComarable和IComparer接口实现排序关系
- javascript 对listbox 排序
- C#比较器接口IComparer的实现
- C#中对对象的排序重写IComparer接口
- 对象的比较与排序:IComparable和IComparer接口
- 对象的比较与排序:IComparable和IComparer接口
- IComparer(Of T) 接口的实现 (vb.net)
- IComparable 和IComparer 接口实现数组的自定义排列
- “轻松加愉快”地实现并使用IComparer接口
- C# 通过文件结构直接生成xls(Excel)文件
- 转帖--MFC双缓冲解决图象闪烁
- 做一个基于WebService的系统
- javascript 学习笔记(7)----window 对象的4个属性
- 推荐一个学习jsp的网站
- 结合IComparer接口实现对ListBox排序
- 第一次参加笔试
- 看课本练习
- 斐波那契数
- 高效程序员的45个习惯 敏捷开发修炼之道
- 清华一日游-恰逢清华大学99周年校庆
- TortoiseSVN使用简介(1/9)安装及下载client(客户)端
- Mini2440启动代码编写
- 文本文件与二进制文件