public class Employee { public int ID { get; set; } public string Name { get; set; } public decimal Pay { get; set; } public float Height { get; set; } } class Program { static void Main(string[] args) { IList<Employee> list = new List<Employee>(); list.Add(new Employee() { ID = 2, Name = "D", Height = 175.50f, Pay = 6000.45m }); list.Add(new Employee() { ID = 4, Name = "A", Height = 178.00f, Pay = 4500.8m }); list.Add(new Employee() { ID = 5, Name = "C", Height = 173.54f, Pay = 7500.11m }); list.Add(new Employee() { ID = 1, Name = "B", Height = 180.15f, Pay = 8000.2m }); list.Add(new Employee() { ID = 3, Name = "E", Height = 182.3f, Pay = 5500.70m }); Console.WriteLine("输出List (ID排序前)"); StringBuilder builder = new StringBuilder(); foreach (var i in list) { builder.AppendFormat("{0},", i.ID); } Console.WriteLine(builder.ToString().TrimEnd(',')); Console.WriteLine(""); Console.WriteLine("输出List (ID排序后)"); list = IListOrderBy<Employee>(list, "ID"); builder.Length = 0; foreach (var i in list) { builder.AppendFormat("{0},", i.ID); } Console.WriteLine(builder.ToString().TrimEnd(',')); Console.WriteLine(""); Console.WriteLine("输出List (Name排序前)"); builder.Length = 0; foreach (var i in list) { builder.AppendFormat("{0},", i.Name); } Console.WriteLine(builder.ToString().TrimEnd(',')); Console.WriteLine(""); Console.WriteLine("输出List (Name排序后)"); list = IListOrderBy<Employee>(list, "Name"); builder.Length = 0; foreach (var i in list) { builder.AppendFormat("{0},", i.Name); } Console.WriteLine(builder.ToString().TrimEnd(',')); Console.WriteLine(""); var tempList = IListOrderBy<Employee>(list, "Height"); Console.WriteLine("输出List (Height排序前)/t/t输出List (Height排序后)"); for (int i = 0, len = list.Count; i < len; i++) { Console.WriteLine("/t{0}/t/t/t/t/t{1}", list[i].Height, tempList[i].Height); } Console.WriteLine(""); tempList = IListOrderBy<Employee>(list, "Pay"); Console.WriteLine("输出List (Pay排序前)/t/t输出List (Pay排序后)"); for (int i = 0, len = list.Count; i < len; i++) { Console.WriteLine("/t{0}/t/t/t/t{1}", list[i].Pay, tempList[i].Pay); } }