c#的List

来源:互联网 发布:fpga经典书籍 知乎 编辑:程序博客网 时间:2024/06/04 17:44

list

泛型集合,可以取代ArrayList

常用方法

List<int> list = new List<int>();
方法名 作用 Add() 添加元素 AddRange 添加一个集合 ToArray() 将集合转数组

数组有个方法叫ToList(),可以将数组转成集合;

为什么用list 而不是ArrayList

装箱与拆箱
把值类型转换为为引用类型叫装箱,把引用类型转换为值类型称为拆箱;
装箱和拆箱会是运行时的操作,会使程序运行时间长,而使用泛型集合在编译的时候生成的是指定的类型;
看两种类型是否发生了装箱或者拆箱,要看,这两种类型是否存在继承关系,有继承关系才有可能发生装箱操作;

类名 元素类型 是否发生拆装箱 运行时间 list 确定且唯一 否 比较短 ArrayList 不确定,可有很多种 是 时间长
using System;using System.Collections;using System.Collections.Generic;using System.Diagnostics;using System.Linq;using System.Text;using System.Threading.Tasks;namespace List泛型集合{    class Program    {        static void Main(string[] args)        {            ArrayList list = new ArrayList();            //ArrayList 程序用时:00:00:00.1229805            //list      程序用时:00:00:00.0276141            //List<int> list = new List<int>();            list.Add(0);            list.Add(0);            Console.WriteLine(list.Count);            Stopwatch sw = new Stopwatch();            sw.Start();            for (int i = 0; i < 1000000; i++)            {                list.Add(i);            }            sw.Stop();            Console.WriteLine("程序用时:"+sw.Elapsed);            Console.ReadKey();        }    }}
1 0
原创粉丝点击