asp.net 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方法。

时间: 2024-09-09 21:27:43

asp.net C# 中动态数组ArrayList用法的相关文章

asp.net C#中Array与ArrayList用法及转换

1. Array-数组 在C#中定义一个数组的方法一般为: Data Type []  Array=new DataType [Size]; 其中Data Type可以是基本数据类型和对象类型数据,Size是数组元素的个数. 例子定义一个int类型的数据来表示一个班上的人数 int [] classNum=new int[20]; type[]   typename=new type[size];  如 int[] a=new int[2];string[] str=new string[5];

(教学思路 C#集合一)集合的概述、动态数组ArrayList

这一节我们来学习集合,什么是集合呢? 集合就如同数组,用来存储和管理一组特定类型的数据对象,除了基本的数据处理功能,集合直 接提供了各种数据结构及算法的实现,如队列.链表.排序等,可以让你轻易地完成复杂的数据操作.在使用数组和集合时要先加入 system.collections命名空间,它提供了支持各种类型集合的接口及类.集合本身上也是一种类型,基本上可以将其作为用来存储一组数据对 象的容器,由于c#面向对象的特性,管理数据对象的集合同样被实现成为对象,而存储在集合中的数据对象则被称为集合元素.

ASP.NET2.0中的ClientScriptManager 类用法

asp.net|client ASP.NET2.0中的ClientScriptManager 类用法-如何添加客户端事件 在ASP.NET2.0中,ClientScriptManager 类通过键 String 和 Type 唯一地标识脚本.具有相同的键和类型的脚本被视为重复脚本.因此,我们可以使用脚本类型来避免混淆可能用在页中的来自不同用户控件的相似脚本. <html>  <head>    <title>ClientScriptManager Example<

在ASP.NET页面中动态添加控件

今天被问到如何在ASP.NET 页面中动态创建一批控件,并且希望在后续代码 中能访问到这些动态创建的控件.我用下面的例子来解释这个问题 页面文件: <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server"> <title></title> </head> <body> <form id="form1&quo

ASP.NET MVC中使用JavaScriptResult的用法示例_实用技巧

本文实例讲述了ASP.NET MVC中使用JavaScriptResult的用法.分享给大家供大家参考,具体如下: 在页面中我们使用JavaScript来设置id为qubernet的span标签样式,具体代码如下: JS: <script> $(function () { var thisObj = document.getElementById("qubernet"); thisObj.setAttribute("style", "color

asp.net c#中[],List,Array,ArrayList的区别

asp教程.net c#中[],List,Array,ArrayList的区别 [] 是针对特定类型.固定长度的. List 是针对特定类型.任意长度的. List 类是 ArrayList 类的泛型等效类,某些情况下,用它比用数组和 ArrayList 都方便. 我们假设有一组数据,其中每一项数据都是一个结构. public struct Item {     public int Id;     public string DisplayText; } 注意结构是不能给实例字段赋值的,即 p

ASP.NET 页面中动态增加的控件、添加事件第1/2页_实用技巧

要求:页面上有一个Add按钮,每点击一次该按钮,页面上动态创建一个WebPartZone! 提醒:WebPartZone只能在OnInit或之前才能创建,否则报异常! 大家都知道,按钮的点击事件是在RaisePostbackEvent时触发的,这意味着点击事件在OnLoad阶段之后才执行,远远落后于 OnInit阶段,而且ViewState在OnLoad时才准备好,OnInit以及之前的阶段根本就不能使用ViewState!如果试图在按钮点击事件里面创建WebPartZone等控件,唯一的后果就

C#中动态数组(ArrayList )应用实例子(三层代码:数据访问层,业务层,页面层)

动态|访问|数据|数组|页面|应用实例 用绑定一个 DataList 的三层代码说明一下: DAL 数据访问层代码:------------------------------------------------------------//绑定IDList,显示所有人员列表  public DataSet SelectIDListAll()  {       string Str = "select p_number,p_name from t_people";        Data

asp.net1.1中动态更改页面标题

asp.net|动态|页面 asp.net1.1由于没有masterpage功能,因此动态更改页面标题显得有些困难.今天在网上找到一个简单的方法,与大家分享. 通常情况下,页面的标题应该是这样的:<title>Page Title</title>我们做一些修改:<title runat="server" id="PageTitle"></title>,这就把title变成了一个服务器控件. 接下来,我们在该页面的cs中