C#中Arraylist的sort函数用法实例分析

 更新时间:2015年10月13日 15:23:19   作者:dongfengkuayue  
这篇文章主要介绍了C#中Arraylist的sort函数用法,较为详细的分析了ArrayList的sort函数的功能、定义及具体使用技巧,具有一定参考借鉴价值,需要的朋友可以参考下

本文实例讲述了C#中Arraylist的sort函数用法。分享给大家供大家参考。具体如下:

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

1.不带参数

2.带一个参数

public virtual void Sort(
  IComparer comparer
)

参数

comparer

类型:System.Collections.IComparer

比较元素时要使用的 IComparer 实现。

- 或 -

null 引用(Visual Basic 中为 Nothing)将使用每个元数的 IComparable 实现。

示例:

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( "\t[{0}]:\t{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 
*/

希望本文所述对大家的C#程序设计有所帮助。

相关文章

  • c#委托学习示例分享

    c#委托学习示例分享

    委托是一个类,它定义了方法的类型,使得可以将方法当作另一个方法的参数来进行传递,这种将方法动态地赋给参数的做法,可以避免在程序中大量使用If-Else(Switch)语句,同时使得程序具有更好的可扩展性,下面是c#委托示例
    2014-03-03
  • C#调用js库的方法示例代码

    C#调用js库的方法示例代码

    这篇文章主要介绍了C#调用js库的方法,本文结合示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-01-01
  • DevExpress实现GridControl同步列头checkbox与列中checkbox状态

    DevExpress实现GridControl同步列头checkbox与列中checkbox状态

    这篇文章主要介绍了DevExpress实现GridControl同步列头checkbox与列中checkbox状态,需要的朋友可以参考下
    2014-08-08
  • C#的winform如何嵌套另一个exe程序

    C#的winform如何嵌套另一个exe程序

    这篇文章主要介绍了C#的winform如何嵌套另一个exe程序问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-06-06
  • 基于C#实现XML文件读取工具类

    基于C#实现XML文件读取工具类

    这篇文章主要介绍了基于C#实现XML文件读取工具类,涉及C#针对XML文件各节点获取的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-07-07
  • Unity3D移动端实现摇一摇功能

    Unity3D移动端实现摇一摇功能

    这篇文章主要为大家详细介绍了基于Unity3D移动端实现摇一摇功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-10-10
  • C# 9.0新特性——扩展方法GetEnumerator支持foreach循环

    C# 9.0新特性——扩展方法GetEnumerator支持foreach循环

    这篇文章主要介绍了C# 9.0新特性——扩展方法GetEnumerator支持foreach循环的相关资料,帮助大家更好的理解和学习c# 9.0,感兴趣的朋友可以了解下
    2020-11-11
  • C# 常用不同日志库的区别与示例解析

    C# 常用不同日志库的区别与示例解析

    C# 作为一种流行的编程语言,有许多优秀的日志库可供选择,本文将介绍一些常见的 C# 日志库,包括 NLog、log4net、Serilog 和 Microsoft.Extensions.Logging,并通过示例展示它们的使用方法及区别,感兴趣的朋友一起看看吧
    2024-06-06
  • 利用C#实现将小数值四舍五入为整数

    利用C#实现将小数值四舍五入为整数

    在项目的开发中,遇到一些除法计算内容会产生小数值,但是又需要根据项目的实际情况将这些小数内容化为整数,所以本文为大家整理了C#实现将小数值四舍五入为整数的方法,希望对大家有所帮助
    2023-07-07
  • c#基于NVelocity实现代码生成

    c#基于NVelocity实现代码生成

    这篇文章主要介绍了c#基于NVelocity实现代码生成的方法,帮助大家更好的理解和使用c#,感兴趣的朋友可以了解下
    2021-01-01

最新评论