说说C#中IList与List区别

我知道IList是一个接口,而List可以实例化IList。请问,我不可以不定义接口IList么?或者在IDAL(接口中)定义List吗?必须是Ilist么??请大家谈谈... 我知道IList是一个接口,而List可以实例化IList。请问,我不可以不定义接口IList么?或者在IDAL(接口中)定义List吗?必须是Ilist么??
请大家谈谈他们之间的区别和作用?
展开
 我来答
CloudPRose
2010-08-03 · TA获得超过5175个赞
知道大有可为答主
回答量:3175
采纳率:66%
帮助的人:930万
展开全部
不是必须的,你可以使用List,也可以IEnumerable。这不是必须的,关键是看你怎么设计接口。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
茫澜b
2018-12-06
知道答主
回答量:77
采纳率:0%
帮助的人:10.7万
展开全部
看了各位的回答:IList相当于Java中的List; List相当于java中的ArrayList。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
布丁龙
2010-08-03
知道答主
回答量:27
采纳率:0%
帮助的人:0
展开全部
IList是接口,定义了一个类的系列规则。
List是类,定义的实际的类代码。

List的定义语法是这样的。
[SerializableAttribute]
public class List<T> : IList<T>, ICollection<T>,
IEnumerable<T>, IList, ICollection, IEnumerable

所以,List可以作到以下实例化方式:
List<string> list = new List<string>();
IList<string> list = new List<string>();
ICollection<string> list = new List<string>();
IEnumerable<string> list = new List<string>();
IList list = new List<string>();
ICollection list = new List<string>();
IEnumerable list = new List<string>();

但是呢。List没实现IDAL接口,所以没办法作到“IDAL dal = new List<string>();”这样的实例声明。

以上是List的声明方式,而IList呢,只要实现了IList接口的所有类都可以实例化成IList,包括你自定义的实现了IList接口的类。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百川海纳万象包罗
2010-08-02 · TA获得超过129个赞
知道小有建树答主
回答量:106
采纳率:0%
帮助的人:118万
展开全部
就是类和接口的区别
找点资料看看就行了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
迈克schumacher
2010-08-03
知道答主
回答量:28
采纳率:0%
帮助的人:0
展开全部
ilist是个接口
list是个集合
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式