C#中的ArrayList类

1、别名:动态数组、集合

2、声明之前需要引用命名空间:using System.Collections

       声明时可指定长度,也可不指定: ArrayList myList = new ArrayList();

                                                                    ArrayList myList = new ArrayList(100);

3、包含四种种添加方法,分别是:

              Add(参数); ----  每次只能添加一个元素,可以是任意类型。

              AddRange(参数) ----添加一个范围内的对象,比如说数组。

  以上两种方法,都只能添加到ArrayList的末尾,如果想在指定位置插入某个值可以用

    Insert(参数1,参数2);  ---参数1代表索引号,参数2代表要插入的值   用于插入单个值

    InsertRange(参数1,参数2);  ---参数1代表索引号,参数2代表要插入的值   用于插入一个范围类的对象,比如数组


4、删除方法:

     Remove(值)、RemoveAt(索引号)

     RemoveRange(起始索引号,删除的个数)

                  Clear()   -----清空所有元素


5、查找方法:(查找不到均返回-1)

                 IndexOf(值)     返回该值首次出现的索引号

                 LastIndexOf(值)    返回该值最后一次出现的索引号

                 BinarySearch(值)   返回该值首次出现的索引号  , 要注意的是:如果ArrayList中有不同类型的元素时,用此方法会报错。  

          因为它会将值自动转换为二进制


6、在利用foreach遍历ArrayList时,如果存在多种类型的元素,可选用Object类声明,因为它是所有类的基类

                   foreach(Object obj in myList)

                   {

                              Console.WritLine(obj);

                  }


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Collections;

namespace ArrayList演示
{
    class Program
    {
        static void Main(string[] args)
        {
            ArrayList myList = new ArrayList();
            myList.Add(10);
            myList.Add('我');
            myList.Add("集合");
            myList.Add(50.5);
            myList.Insert(0,"小明");
            string[] str = {"张三","李四","王五","赵六"};
            // AddRange() 可用于一次添加多个元素,可以直接添加数组!
            myList.AddRange(str);
            //myList.AddRange();
            Console.WriteLine("删除前共有{0}个元素", myList.Count);
            foreach (object obj in myList)
            {            
                Console.Write(obj + "\t");
            }
            //RemoveRange(索引,删除的个数)、Remove(值)、RemoveAt(索引值)
            myList.RemoveRange(4,3);
            Console.WriteLine("\n删除后共有{0}个元素", myList.Count);
            foreach (object obj in myList)
            {
                Console.Write(obj + "\t");
            }
            //Clear() 清空所有元素
            myList.Clear();
            Console.WriteLine("\n清空后共有{0}个元素", myList.Count);
            foreach (object obj in myList)
            {
                Console.Write(obj + "\t");
            }
            Console.ReadKey();
        }
    }
}

C#中的ArrayList类_第1张图片

你可能感兴趣的:(C#中的ArrayList类)