现在要求是这样的,对字符串排序,但是字符串含有数字。举个例子:有“第1楼、第2楼、第11楼”。现在排序是第11楼,第1楼,第2楼,而不是第1楼,第2楼,第11楼。我知道是把数字按照字符串compare的原因。可是怎么让他先按照前面的字符排序,再按照数字排序。
解决方案 »
- 谁有不用自带控件编写的windows应用程序例子
- 这就是C#的BUG呢还是我不懂原理??socket返回的字符串无法正常运用字符串的运算符"+"!
- .net面试
- 自定义纸张问题,为什么自定义了以后,打印走纸还是不变?
- 怎么样才能改变菜单栏的颜色和工具栏的背景色和工具栏中button的背景色,比较急,大家请多帮忙,谢谢
- C#里面虚拟按键是怎么写的??是不是用那个SendKeys()?哪位给点代码,谢谢~~
- WebwebProxy中:远程服务器返回错误 (407)需要代理身份验证
- 怎样获得数据库中的各列
- 怎样使用asp.net作为客户端远程调用com+!!!能给小弟发一个例子最好!!![email protected]
- 什么地方有完整的beta2版本下载?
- 有关在C/S下使用多线程的问题
- ajax无刷新分页问题
using System.Collections.Generic;class Program
{
static void Main(string[] args)
{
string[] floors ={ "第3楼", "第2楼", "第11楼" };
Array.Sort<string>(floors, Factory.Comparer);
foreach (string s in floors)
Console.WriteLine(s);
Console.ReadKey();
}
}// 工厂模式
class Factory : IComparer<string>
{
private Factory() { }
public static IComparer<string> Comparer
{
get { return new Factory(); }
}
public int Compare(string x, string y)
{
return x.Length == y.Length ? x.CompareTo(y) : x.Length - y.Length;
}
}