C#中集合与数组的区别

【前言】

以前我们在存储数据的时候,首先想到的是先声明一个数组。从学C#视频的时候,看到还可以用集合,那么集合和数组有什么区别吗?下面将为你展示。

【正文】

一、数组

定义:数组是相同数据类型的元素按一定顺序排列的集合。

优点:数组在存储数据的时候是连续存储的,因此可以快速而容易地从头到尾遍历元素,可以快速的修改元素等等。

缺点在声明数组的时候必须先声明指定的长度。如果事先不知道存储的大小,很容易会造成声明的长度过长导致内存空间浪费,过短则造成数据的溢出。而且在两个数据中间插入数据也是非常麻烦的,需要将插入位置后面的数组全部移动位置。

二、集合(ArrayList)

定义:ArrayList是命名空间System.Collections下的一部分,它是使用大小可按需动态增加的数组实现IList接口。ArrayList的默认初始容量为0,随着元素添加到ArrayList中,容量会根据需要通过重新分配自动增加。

优点:ArrayList 可以根据使用大小按需动态增加,不用事先设置大小,可以随意的添加数据,插入或移除某一范围元素也比较方便。

缺点因为ArrayList 插入值的类型都是当做Object 类型插入的,所以当调用数据的时候可能会出现类型不匹配的错误。

集合实例:

class Program
    {
        static void Main(string[] args)
        {
            ArrayList arrayList = new ArrayList();
            arrayList.Add(10);
            arrayList.Add(20);
            arrayList.Add("张三");
            arrayList.Add('女');
            arrayList.Add(true);
            arrayList.Add(3.15m);
            arrayList.Add(78.9);
            arrayList[5] = 5678;
            for (int i = 0; i < arrayList.Count; i++)
            {
                Console.WriteLine(arrayList[i]);


            }
            Console.ReadKey();
        }
    }

显示结果:

由此我们看出集合虽然不用事先设置大小,可以随意的添加数据但是也有缺点。这时我们在存储数据的时候就可以根据自己的需求来定义了。

猜你喜欢

转载自blog.csdn.net/zhanduo0118/article/details/84586342
今日推荐