按不同国家语言进行字符串排序 选自:Goodspeed's Blog
2005-03-30 16:05
447 查看
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
void Page_Load(object sender, EventArgs e)
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
//测试数据
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
string[] myArr = new string[6];
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
myArr[0] = "地域";
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
myArr[1] = "地図";
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
myArr[2] = "路線";
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
myArr[3] = "道路交通";
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
myArr[4] = "電話帳";
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
myArr[5] = "自動車";
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
//没有排序
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
Gridview1.DataSource = myArr;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
Gridview1.DataBind();
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
//简体中文排序
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
MyStringComparer myComp = new MyStringComparer(CompareInfo.GetCompareInfo("zh-CN"), CompareOptions.None);
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
Array.Sort(myArr, myComp);
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
Gridview2.DataSource = myArr;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
Gridview2.DataBind();
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
//日语排序
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
myComp = new MyStringComparer(CompareInfo.GetCompareInfo("ja-JP"), CompareOptions.None);
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
Array.Sort(myArr, myComp);
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
Gridview3.DataSource = myArr;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
Gridview3.DataBind();
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
private class MyStringComparer : IComparer
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
private CompareInfo myComp;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
private CompareOptions myOptions = CompareOptions.None;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
// Constructs a comparer using the specified CompareOptions.
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
public MyStringComparer(CompareInfo cmpi, CompareOptions options)
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
myComp = cmpi;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
this.myOptions = options;
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
// Compares strings with the CompareOptions specified in the constructor.
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
public int Compare(Object a, Object b)
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](http://www.cnblogs.com/Images/dot.gif)
{
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
if (a == b) return 0;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
if (a == null) return -1;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
if (b == null) return 1;
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
string sa = a.ToString();
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
string sb = b.ToString();
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
if (sa != null && sb != null)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
return myComp.Compare(sa, sb, myOptions);
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
throw new ArgumentException("a and b should be strings.");
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
}
相关文章推荐
- 按不同国家语言进行字符串排序
- R 语言中,数据框依据不同列进行排序
- C#例题:输入学生学号,姓名,分数,然后根据分数进行排序。这个题是用集合和结构体来做,与上一题不同。掌握基础知识很重要
- 用treeset对字符串进行长度排序
- Problem F: C语言习题 不等长字符串排序
- Java 语言程序设计 变化不同颜色和大小的字符串
- 9.11排序与查找(二)——对字符串数组进行排序,将所有的变位词排在相邻的位置
- 9.11排序与查找(二)——对字符串数组进行排序,将全部的变位词排在相邻的位置
- 按两种不同的关键字先后进行排序
- mysql将数字组成的字符串字段按照字符串数值型的大小进行排序
- 快速排序的不同语言不同方法实现的…
- 对多个字符串进行排序问题!
- java对字符串进行去重并排序
- 对文本中的字符串进行排序(C语言)
- ztree仅并排同级进行推拽(同一个组织下不同部门排序拖拽)
- 随机产生20个字符串并且字符串不能重复 且进行排序
- TreeSet按照字符串长度进行排序
- Python Java Javascript三种语言的不同之字符串
- 对字符串数组进行排序,将所有变位词排在相邻的位置。
- java字符串数组进行大小排序的简单实现