转自:http://www.cnblogs.com/ysz12300/p/5595907.html

引入ArryList的方法->命名空间:using System.Collections;

ArrayList即动态数组(可变数组),它可以动态的增加和减少元素,另外它可以存储任意个数和任意类型的元素(即对所添加的数据和类型不做限制)。

属性  Count属性是目前ArrayList包含的元素的数量(数组长度),这个属性是只读的 Capacity属性是目前ArrayList能够包含的最大数量,可以手动的设置这个属性,但是当设置为小于Count值的时候会引发一个异常。

方法  Add(v):添加一个元素(参数v,任何类型)到当前列表的末尾

AddRange方法用于添加一批元素到当前列表的末尾

Remove方法用于删除一个元素,通过元素本身的引用来删除

RemoveAt(i):方法用于删除一个元素,通过索引值(参数i)来删除

RemoveRange用于删除一批元素,通过指定开始的索引和删除的数量来删除

Insert用于添加一个元素到指定位置,列表后面的元素依次往后移动

InsertRange用于从指定位置开始添加一批元素,列表后面的元素依次往后移动

Clear():方法用于清除现有所有的元素

Contains(v):方法用来查找某个对象(参数v)在不在列表之中

ToArray(Type t):这个方法把ArrayList的元素Copy到一个新的数组中,参数为Type类型

① 简单使用

ArrayList list = new ArrayList();  // 声明变量

list.Add(2);

list.Add("北京");

list.Add(new int[] { 2, 4, 6 });

list.Add("南京");

list.Add(3);

foreach (var p in list)

{     Console.Write(p.ToString() + " | ");  // 输出:2 | 北京 | System.Int32[] | 南京 | 3 | }

② ArrayList与数组转换

元素类型相同的转换

ArrayList list = new ArrayList();

list.Add(1);

list.Add(2);

list.Add(3);

// 转换方式1:ToArray()

int[] list2 = (int[])list.ToArray(typeof(int));

// 转换方式2:CopyTo()

int[] list3 = new int[list.Count]; list.CopyTo(list3);

元素类型不同的转换

ArrayList arr = new ArrayList(){ "北京", 1};   //往数组中添加不同类型的元素

object[] arr2 = (object[])arr.ToArray(typeof(object)); //正确

string[] arr3 = (string[])arr.ToArray(typeof(string)); //错误

ArryList的使用方法(基础使用-将来会不断添加)的更多相关文章

  1. C语言入门7-程序设计方法基础-循环结构

    程序设计方法基础-循环结构 循环三要素: 初值   循环判断条件   步长(循环增量) 循环结构在有些书籍上也称为重复结构,  即反复执行某一部分的操作. 循环三要素: 初值   循环判断条件   步 ...

  2. java方法基础

    java方法基础 方法的定义与调用 方法是命名的语句的有序集,是解决一类问题的步骤的有序组合. 方法包含于类或者是对象中,方法在程序中被创建,在其他地方被引用. 组成:方法是由方法头和方法体两部分组成 ...

  3. MyBatis基础入门《十》添加数据

    MyBatis基础入门<十>添加数据 描述: 修改了实体类:TblClient.java,将其字段:cbirthday 由String类型改成了Date类型. TblClient.java ...

  4. 【转载】C#中Add方法将往List集合末尾添加相应元素对象

    在C#的List集合操作中,有时候需要将符合条件的对象添加到已有List集合中的末尾,此时就需要使用到List集合的Add方法,Add方法的作用为将对应的元素添加到List集合末尾,Add方法签名为v ...

  5. LINQ查询表达式和LAMBDA点标记方法基础

    在上一篇文章中,我们介绍了LINQ的一些基本用法,这一篇我们来看下另一种更简洁更优雅的表达式,Lambda表达式,也可以叫做点标记方法. 相信大家在实际工作中都用到过这两种方式,下面我们还是用实例来看 ...

  6. Dart方法基础知识

    方法定义: void main(List args){ print(args); print(getPerson('wwk', 32)); } /*String getPerson(String na ...

  7. JavaSE复习~方法基础

    方法的概念 方法:就是讲一个功能抽取出来,把代码单独定义在其中,形成一个单独的功能 我们需要这个功能的时候,就可以去调用,实现了代码的复用性,也解决了代码冗余的问题 方法的定义 定义的一般格式:jav ...

  8. 【Java基础-实验7】Banking_7 -添加银行透支扣款系统的 thorw异常机制

    实验基本要求: 实验题目 7:(在6基础上修改) 将建立一个 OverdraftException 异常,它由 Account 类的withdraw()方法 抛出. 实验目的: 自定义异常 实验说明: ...

  9. JS数组方法汇总 array数组元素的添加和删除

    js数组元素的添加和删除一直比较迷惑,今天终于找到详细说明的资料了,先给个我测试的代码^-^ var arr = new Array(); arr[0] = "aaa"; arr[ ...

随机推荐

  1. Golang gin开源实例——接口

    Github地址 https://github.com/EDDYCJY/go-gin-example 返回值 字段:code.msg.data 举例 # 失败 { , "msg": ...

  2. linux--redis学习

    redis redis在linux的安装 1.redis安装方式 yum安装(提前配置好yum源) yum install redis -y # 源代码编译安装 rpm包手动安装 2.编译安装redi ...

  3. CentOS7虚拟机配置、Hadoop搭建、wordCount DEMO运行

    安装虚拟机 最开始先安装虚拟机,我是12.5.7版本,如果要跟着我做的话,版本最好和我一致,不然后面可能会出一些莫名其妙的错误,下载链接如下(注册码也在里面了): 链接:https://pan.bai ...

  4. C# webkit 内核浏览器 访问https 网站 提示 Problem with the SSL CA cert (path? access rights?)

    C# webkit 内核浏览器 访问https 网站 提示 Problem with the SSL CA cert (path? access rights?) 解决方法: 陈凯文11112014- ...

  5. 关于pgsql 几个操作符的效率测试比较

    关于pgsql 几个操作符的效率测试比较1. json::->> 和 ->> 测试方法:单次运行100次,运行10个单次取平均时间.测试结果:->> 效率高 5% ...

  6. Jquery属性操作、添加类

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  7. 吴裕雄--天生自然JAVAIO操作学习笔记:压缩流与回退流

    import java.io.File ; import java.io.FileInputStream ; import java.io.InputStream ; import java.util ...

  8. Rancher概述

    概述 What’s Rancher? Rancher是一套容器管理平台,它可以帮助组织在生产环境中轻松快捷的部署和管理容器. Rancher可以轻松地管理各种环境的Kubernetes,满足IT需求并 ...

  9. 8051单片机中访问int中字节的方法

    在使用单片机中,unsigned int 占2个字节,unsigned char 占一个字节.而单片机是实行的字节寻址.16字节的bit寻址实在是不好用, 不好用在不能建数组. 在实际的开发过程中,要 ...

  10. Python测试进阶——(3)编写Python程序监控计算机的服务是否正常运行

    用python写了个简单的监控进程的脚本,当发现进程消失的时候,立即调用服务,开启服务. 脚本的工作原理是这样的:脚本读取配置文件,读取预先配置好的调用系统服务的路径和所要监控的服务在进程管理器中的进 ...