zoukankan      html  css  js  c++  java
  • C# 泛型2排序

         刚才怕写的太多,万一IE来个罢工岂不是白写了,所以还是先保存一下,下面接着学习排序.
    3.泛型排序
      List<T>类可以对其元素排序.Sort()方法有几个重载的版本:
      public void List<T>.Sort();
      public void List<T>.Sort(Comparison<T>);
      public void List<T>.Sort(IComparer<T>);
      public void List<T>.Sort(Int32,Int32,IComparer<T>);

    无参数的只能在集合中的元素实现了IComparable接口是使用.
    Comparison<T>是一个委托,带有两个类型的参数,返回Int,如果参数相等,该方法就返回零,如果第一个小于第二个参数,该方法就返回一个小于0 的值,否则相反.
    比较方法可以使用匿名方法,两个参数类型是Racer,在代码中,使用字符串CompareTo()比较Name属性:
                racer.Sort(delegate(Racer r1, Racer r2) return r1.Name.CompareTo(r2.Name); });
    除了使用委托外,ICompare<T>还用于给集合排序.RacerComparer类为Racer类实现了Icompare<T>接口,这个类可以按照名字,和汽车排序:
    public class RacerComparer : IComparer<Racer>
        
    {
            
    public enum CompareType
            
    {
                Name,
                Car
            }

            
    private CompareType compareType;
            
    public RacerComparer(CompareType compareType)
            
    {
                
    this.compareType = compareType;
            }

            
    public int Compare(Racer x, Racer y)
            
    {
                
    int result = 0;
                
    switch (compareType)
                
    {
                    
    case CompareType.Name:
                        result
    =x.Name.CompareTo(y.Name);
                        
    break;
                    
    case CompareType.Car:
                        result
    =x.Car.CompareTo(y.Car);
                        
    break;
                }

                
    return result;
            }

         }
    截止到这里
    我吧全部代码发上来
    Code
  • 相关阅读:
    Android开发学习之路-插件安装、检查应用是否安装解决方案
    Android开发学习之路-自定义控件(天气趋势折线图)
    Android开发学习之路-记一次CSDN公开课
    Android开发学习之路-RecyclerView滑动删除和拖动排序
    Android开发学习之路-带文字的图片分享
    Android开发学习之路-Android N新特性-多窗口模式
    Android开发学习之路-Volley源码解析
    Android开发学习之路-Android Studio开发小技巧
    Android开发学习之路-提升用户体验小技巧
    Android开发学习之路-Android6.0运行时权限
  • 原文地址:https://www.cnblogs.com/whitetiger/p/1055670.html
Copyright © 2011-2022 走看看