c#中 这个list.sort()在这里边排序是按照年龄排的,可是系统怎么知道就是按照年龄排呢,还
c#中这个list.sort()在这里边排序是按照年龄排的,可是系统怎么知道就是按照年龄排呢,还有后边带参数的list.sort,怎么就知道是按照姓名排呢...
c#中 这个list.sort()在这里边排序是按照年龄排的,可是系统怎么知道就是按照年龄排呢,还有后边带参数的list.sort,怎么就知道是按照姓名排呢
展开
展开全部
//那个排序使用了 下面这个方法。 仔细看参数位置的解释
// 摘要:
// 使用指定的比较器对整个 System.Collections.Generic.List<T> 中的元素进行排序。
//
// 参数:
// comparer:
// 比较元素时要使用的 System.Collections.Generic.IComparer<T> 实现,或者为 null,表示使用默认比较器 System.Collections.Generic.Comparer<T>.Default。
//
// 异常:
// System.InvalidOperationException:
// comparer 为 null,且默认比较器 System.Collections.Generic.Comparer<T>.Default 找不到
// T 类型的 System.IComparable<T> 泛型接口或 System.IComparable 接口的实现。
//
// System.ArgumentException:
// comparer 的实现导致排序时出现错误。例如,将某个项与其自身进行比较时,comparer 可能不返回 0。
public void Sort(IComparer<T> comparer);
这个方法的参数是一IComparer类型的接口, 所以 你代码里面传的参数 一定是实现了这个接口的 就是那个 PersonCompareName 那个类。 你进去看一下这个类。。这个类里面可以看到 是按照 类中 哪个一 属性排序的。 并且排序规则是怎么样的。。
手打。。 望采纳!!!
更多追问追答
追问
那个类只是说按姓名排序规则啊
我还说他这个list.sort是按照年龄排的,这是为什么啊
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询