• C# 中的动态数组ArrayList


      ArrayList就是实现了IList, ICollection, IEnumerable, ICloneable这几个接口的动态数组。即使.NetFramwork提供了一些更耐用更受欢迎的新的类,ArrayList仍然十分有用。下面是一些在C#中使用ArrayList的实例,一起看看其基本用法和一些高级用法。

    添加元素

      在使用ArrayList的每个程序中基本都会用到其Add方法。该方法追加一个元素对象至ArrayList的末端。在内存允许的情况下,你可以持续的向这个集合中添加元素,其元素以堆的形式进行存储。见下示例。

     

       ArrayList类中元素的存储为Object类型,这意味着,ArrayList对象原则上可以接受.NET中的任何值,在存储或检索值类型时通常发生装箱和拆箱。见下示例。

    将一个ArrayList添加至另一个ArrayList

      有多种不同的方法可以将一个ArrayList添加至另一个ArrayList,但是最优的是使用AddRange方法。在.NET Framework内部,AddRange使用Array.Copy或CopyTo方法,相比一些循环,能够有更好的性能表现。如下示例。

    ArrayList的Count属性和Clear方法

      ArrayList类提供了一个虚属性——Count,当使用Count属性时,实际上并不是对ArrayList对象中的元素个数予以计算,而是直接返回一个缓存字段值,这意味着使用该属性获取元素的数量速度非常之快。所以一般在程序中直接获取其Count属性予以使用,而不必将该属性的值取出来存储在另一个变量中。

      ArrayList类的Clear方法用于移除其所有元素。在在.NET Framework内部,它调用了Array.Clear方法。有些时候,相比与清除原ArrayList对象的所有元素,直接创建一个新的ArrayList对象,代码看起来可能会更整洁一些。

    ArrayList的Sort和Reserve方法

      可以利用Sort方法对ArrayList或它的一部分元素进行排序,默认是升序排序。前面提到过ArrayList中可以接受不同类型的值,但是如果要使用Sort方法,必须保证进行排序的那部分元素是同一数据类型。换句话说,ArrayList中有不同类型的元素时,仍然可以使用Sort方法对其一部分元素进行排序,但这时必须指定该部分元素的范围。

      Reserve方法的使用方法与Sort类似,用于倒置ArrayList或它的一部分元素的顺序。对于ArrayList中不同类型的元素的处理方式同Sort方法。

  • 相关阅读:
    ASM ClassReader failed to parse class file- probably due to a new Java class file version that isn't supported yet问题
    Git配置工作
    Git多人协作
    Git分支合并
    网络收藏夹
    莫道桑榆晚,为霞尚满天
    2021幼升小
    2020年07月28日10:36:36
    JAVA中如果用BigDecimal做除法
    mybatis
  • 原文地址:https://www.cnblogs.com/hans_gis/p/2235887.html
Copyright © 2020-2023  润新知