IList与List的区别

来源:互联网 发布:centos debian 比较 编辑:程序博客网 时间:2024/06/06 09:25

这个问题困扰了我很久,定义两个变量

IList<string> list1=new List <string>();

List<string> list2 =new List <string>();

怎么也看不出他俩的区别,在使用这两个变量时,虽有稍许不同,但功能该有的都有。

而且经测试,list2数据处理排序遍历都会比list1快,那IList类型为什么还会存在呢?


今天看技术问答,看到一个问题,在帮他想答案的时候,突然意识到一个IList的作用。

问题是,他想定义一个队列,队列中的元素是List,但List的类型不一样。

没多想,就作答了:

        Queue<IList> quere = new Queue<IList>();        List<string> stringList = new List<string>();        List<int> intList = new List<int>();        quere.Enqueue(stringList);        quere.Enqueue(intList.ToArray());

看出来了吧,IList是可能单独出现的

因为IList是List<string>和List<int>的父类,所以他们的变量才能加入到队列中。

所以准确的说,应该把本文的标题改为 IList与List<T>的区别。




0 0
原创粉丝点击