protected void Do1(List<int> list) { list.Add(999); } protected void Do2(List<int> list) { // OrderByDescending 需要引入命名空间 System.Linq。 list = list.OrderByDescending(m => m).ToList(); // 不会影响外部 list。 list.Add(9999); // 不会影响外部 list。 } protected void Do3(List<int> list) { Comparison<int> comparsion = new <int>(delegate (int m, int n) { if (m > n) { return -1; } else if (m == n) { return 0; } else { return 1; } }); list.Sort(comparsion); } protected void Page_Load(object sender, EventArgs e) { List<int> list = new List<int>(); list.Add(99); list.Add(9); Response.Write(list.Count + ", "); // 2 Do1(list); Response.Write(list.Count + ", "); // 3 Do2(list); foreach (var item in list) { Response.Write(item + ", "); // 99、9、999 } Do3(list); foreach (var item in list) { Response.Write(item + ", "); // 999、99、9 } }
OrderByDescending、OrderBy 需要命名空间 System.Linq。
OrderByDescending、OrderBy 是创建一个新对象并返回;Sort 是直接操作该 List。
OrderByDescending、OrderBy 使用方便;Sort 需写 Comparison。
相关阅读
巧用 Array.IndexOf 为 List 自定义排序