using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication25
{
    class Program
    {
        static void Main(string[] args)
        {
            SortedList<string, string> sl = new SortedList<string, string>(new mysortedList());
            
            sl.Add("key_1", "Daniel");
            sl.Add("key_10", "Jason");
            sl.Add("key_3", "Acadia");

            foreach(var item in sl)
            {
                Console.WriteLine(item.Key);
                Console.WriteLine(item.Value);

            }

            Console.ReadLine();

        }

        public class mysortedList : IComparer<string>
        {
            public int Compare(string x, string y)
            {
                int a =Convert.ToInt16( x.Remove(0, 4));
                int b = Convert.ToInt16(y.Remove(0, 4));

                return a.CompareTo(b);
            }
        }

    }
}


参考链接:

http://stackoverflow.com/questions/2720009/how-to-use-custom-icomparer-for-sorteddictionary