• 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
  • 相关阅读:
    Jooq基本操作
    SpringcloudStream简单使用
    SpringcloudBus消息总线
    RabbitMQ集群
    Springboot整合RabbitMQ
    RabbitMQ死信队列与延迟队列
    RabbitMQ事务性消息和确认模式
    公链简介
    公链简介
    Windows生产力工具推荐
  • 原文地址:https://www.cnblogs.com/whitetiger/p/1055670.html
Copyright © 2020-2023  润新知