zoukankan      html  css  js  c++  java
  • ArrayList.Sort()解析

    ArrayList的sort函数有几种比较常用的重载:

    1.不带参数

    2.带一个参数

    public virtual void Sort(
    	IComparer comparer
    )

    参数

    comparer
    类型:System.Collections.IComparer 比较元素时要使用的 IComparer 实现。 - 或 - null 引用(Visual Basic 中为 Nothing)将使用每个元数的 IComparable 实现。
    example:
    using System;
    using System.Collections;
    
    public class SamplesArrayList  {
    
       public class myReverserClass : IComparer  {
    
          // Calls CaseInsensitiveComparer.Compare with the parameters reversed.
          int IComparer.Compare( Object x, Object y )  {
              return( (new CaseInsensitiveComparer()).Compare( y, x ) );
          }
    
       }
    
       public static void Main()  {
    
          // Creates and initializes a new ArrayList.
          ArrayList myAL = new ArrayList();
          myAL.Add( "The" );
          myAL.Add( "quick" );
          myAL.Add( "brown" );
          myAL.Add( "fox" );
          myAL.Add( "jumps" );
          myAL.Add( "over" );
          myAL.Add( "the" );
          myAL.Add( "lazy" );
          myAL.Add( "dog" );
    
          // Displays the values of the ArrayList.
          Console.WriteLine( "The ArrayList initially contains the following values:" );
          PrintIndexAndValues( myAL );
    
          // Sorts the values of the ArrayList using the default comparer.
          myAL.Sort();
          Console.WriteLine( "After sorting with the default comparer:" );
          PrintIndexAndValues( myAL );
    
          // Sorts the values of the ArrayList using the reverse case-insensitive comparer.
          IComparer myComparer = new myReverserClass();
          myAL.Sort( myComparer );
          Console.WriteLine( "After sorting with the reverse case-insensitive comparer:" );
          PrintIndexAndValues( myAL );
    
       }
    
       public static void PrintIndexAndValues( IEnumerable myList )  {
          int i = 0;
          foreach ( Object obj in myList )
             Console.WriteLine( "	[{0}]:	{1}", i++, obj );
          Console.WriteLine();
       }
    
    }
    
    
    /* 
    This code produces the following output.
    The ArrayList initially contains the following values:
            [0]:    The
            [1]:    quick
            [2]:    brown
            [3]:    fox
            [4]:    jumps
            [5]:    over
            [6]:    the
            [7]:    lazy
            [8]:    dog
    
    After sorting with the default comparer:
            [0]:    brown
            [1]:    dog
            [2]:    fox
            [3]:    jumps
            [4]:    lazy
            [5]:    over
            [6]:    quick
            [7]:    the
            [8]:    The
    
    After sorting with the reverse case-insensitive comparer:
            [0]:    the
            [1]:    The
            [2]:    quick
            [3]:    over
            [4]:    lazy
            [5]:    jumps
            [6]:    fox
            [7]:    dog
            [8]:    brown 
    */
    一览众山小
  • 相关阅读:
    jacob根据word模板和书签插入内容,在jacob1.14.3测试成功...
    在.NET上如何根据字符串动态创建控件
    rabbitvcs一款在Linux平台下类似于乌龟的SVN客户端
    平时摘录开发经验
    C#中treeview绑定xml
    ubuntu下SVN服务器安装配置
    网页中的一些常用快捷键
    python 数据类型
    python 删除空文件夹脚本
    删除指定文件的python脚本
  • 原文地址:https://www.cnblogs.com/ZLGBloge/p/4119021.html
Copyright © 2011-2022 走看看