怎样用C#来进行字符串数组的自然排序

ajqc 2005-02-24 11:18:18
找来找去都找不到C#版的字符串数组的自然排序法的代码,请大家帮忙,别的语言的也行,只要是字符串数组的自然排序法的代码就行了
...全文
721 16 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
xixigongzhu 2005-02-25
  • 打赏
  • 举报
回复
ajqc(失眠无神闷坐中) :
对,就是原来的夕夕公主
ajqc 2005-02-25
  • 打赏
  • 举报
回复
十二万分感谢xixigongzhu(夕夕宝贝)
夕夕宝贝是原来的夕夕公主吗?呵呵
我这里还有2个贴子,问是也是差不多的问题,谢谢你帮我解答了,你随便回2个字吧,我一起把分给了你,再次感谢夕夕宝贝
http://community.csdn.net/Expert/TopicView.asp?id=3703215
http://community.csdn.net/Expert/TopicView.asp?id=3398492
xixigongzhu 2005-02-25
  • 打赏
  • 举报
回复
这样就可以了:
public class CustomComparer:System.Collections.IComparer
{
public int Compare(object x, object y){
string s1 = (string)x;
string s2 = (string)y;
if (s1.Length > s2.Length) return 1;
if (s1.Length < s2.Length) return -1;
for (int i = 0; i < s1.Length; i++) {
if (s1[i] > s2[i]) return 1;
if (s1[i] < s2[i]) return -1;
}
return 0;
}
}

应用:
string[] str = new string[]{"A1","A2","A10"};
Array.Sort(str, new CustomComparer());
for (int i = 0; i < str.Length; i++)
Console.WriteLine(str[i]);
ajqc 2005-02-25
  • 打赏
  • 举报
回复
Array.Sort(arr);
不对!!!!!!!!!!
比如: A1,A2,A10
用Array.Sort(arr);排出来就是
A1,A10,A2
而我要的是
A1,A2,A10
这就是我为什么要自然排序法
大家不要为了分而乱回答,拜托请自己先试过了再回答,因为我提的问题一般都是大家在工作中会遇到的.这个问题在PHP中很好解决,有专门的类,但PHP不能编译成DLL给C#调用,
web_gus 2005-02-24
  • 打赏
  • 举报
回复
学习
rachy 2005-02-24
  • 打赏
  • 举报
回复
也可以遍历数组中的项,按大小排列
xixigongzhu 2005-02-24
  • 打赏
  • 举报
回复
Array.Sort(arr);
cqzhangq 2005-02-24
  • 打赏
  • 举报
回复
冒泡排呗 :)
jialiang 2005-02-24
  • 打赏
  • 举报
回复
up
yuhan0001 2005-02-24
  • 打赏
  • 举报
回复
private string[] aa ={"a","c","b"};
Array.Sort(aa);
MessageBox.Show(aa[0]);
MessageBox.Show(aa[1]);
MessageBox.Show(aa[2]);

结果是:a,b,c
SpeedyHorse 2005-02-24
  • 打赏
  • 举报
回复
Array.Sort(array);
這位已幫你回答了
xzyan80 2005-02-24
  • 打赏
  • 举报
回复
up
sskset 2005-02-24
  • 打赏
  • 举报
回复
xixigongzhu(夕夕宝贝) 的办法是好办法
qiezic 2005-02-24
  • 打赏
  • 举报
回复
up
sutalon 2005-02-24
  • 打赏
  • 举报
回复
xixigongzhu(夕夕宝贝) 的方法不错啊

Array.Sort(array); ///array是要进行自然排序的字符串数组
JunlanGuo 2005-02-24
  • 打赏
  • 举报
回复
up

111,108

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧