排序含有数字的字符串:一个巧妙地方法

using System;
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;
    }
}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏

go 语言的序列化与反序列化

与c 语言一样, 在网络编程中, go语言同样需要进行序列化与反序列化 在c语言中, 通常需要一块内存缓冲区用来收 发数据。缓冲区一般定义成char *buff...

2747
来自专栏大内老A

ASP.NET MVC以ValueProvider为核心的值提供系统: NameValueCollectionValueProvider

在进行Model绑定过程中,需要根据基于Action方法参数的绑定上下文从请求数据中提取相应的数据以提供相应的数据。具体来说,Model绑定的数据具有多个来源,...

1798
来自专栏魏琼东

一步一步教你使用AgileEAS.NET基础类库进行应用开发-基础篇-使用UDA操纵SQL语句

       上一篇文章基于AgileEAS.NET平台基础类库进行应用开发-总体说明及数据定义中对本案例所涉及的数据表及部分数据,本文开始将从最基本的业务,数...

1925
来自专栏JAVA同学会

Spring Data(二)查询

查询的构建机制对于Spring Data的基础是非常有用的。构建的机制将截断前缀find…By、read…By、query…By、count…By、get…By...

602
来自专栏linux驱动个人学习

ALSA声卡驱动的DAPM(二)-建立过程

在上一篇文章中,我们重点介绍了widget、path、route之间的关系及其widget的注册; http://www.cnblogs.com/linhaos...

3344
来自专栏java学习

面试题30(关于if的用法哪个是正确的?)

下列关于if的用法哪个是正确的? public class IfTest{ public static void main(string[]args){...

2685
来自专栏QQ音乐技术团队的专栏

谁创建谁销毁,谁分配谁释放——JNI调用时的内存管理

在QQ音乐AndroidTV端的Cocos版本的开发过程中,我们希望尽量多的复用现有的业务逻辑,避免重复制造轮子。因此,我们使用了大量的JNI调用,来实现Jav...

2686
来自专栏java达人

数据字典项实现方案

在应用开发中,总会遇到许多数据字典项,比如对象状态、对象类型等等,这些项一般都是固定的若干可选值选项,比如对象状态可能有新建、修改、删除等状态,这些数据字典项一...

5097
来自专栏221-B

ARM汇编基础

在高级语言,如OC、C中,操作的对象是变量,而在ARM汇编语言中,操作的对象是寄存器(register)、内存(RAM)、栈(stack)。

742
来自专栏ppjun专栏

Android十八章:从Android看Binder

Binder是android上的一个类 继承了IBinder,用作Ipc进程间通讯,同是帮助Serivermanager连接各种manager(activity...

432

扫描关注云+社区