.net 自然排序方式

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication12
{
    class Program
    {
        static void Main(string[] args)
        {

            string[] str = new string[] { "A1", "A2", "A10" };
            Array.Sort(str, new CustomComparer());
            for (int i = 0; i < str.Length; i++)
                Console.WriteLine(str[i]);
        }
    }

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


}
原文地址:https://www.cnblogs.com/guozhe/p/3527937.html