这两句是不是有错误啊

weikeli19 2016-05-11 03:50:51
我划下来的这两句是不是有错误啊?第一句:CollectionBase抽象类哪有ArrayList类啊?连继承都没有
第二句:IList.List返回的应该是IList接口对象啊,怎么会是返回一个Object对象

如图:
...全文
163 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuzuning 2016-05-11
  • 打赏
  • 举报
回复
一组数据要保存,你总得有一个载体(仓库),他选用了 ArrayList 作载体,就是这么简单 因为其他能保存多种数据类型的集合都有容量的限制(比如:队列、堆栈...)
xuzuning 2016-05-11
  • 打赏
  • 举报
回复
引用 7 楼 shingoscar 的回复:
CollectionBase是怎么定义的?
书前面有吗?

https://msdn.microsoft.com/zh-cn/library/system.collections.collectionbase(VS.80).aspx
weikeli19 2016-05-11
  • 打赏
  • 举报
回复
引用 7 楼 shingoscar 的回复:
[quote=引用 5 楼 weikeli19 的回复:] [quote=引用 3 楼 shingoscar 的回复:] 先确定下 这里的IList是指 书中写的一个接口叫IList 还是指 System.Collections.IList
我想是接口吧[/quote] 都是接口 CollectionBase是怎么定义的? 书前面有吗?[/quote] public abstract class CollectionBase : IList, ICollection, IEnumerable
weikeli19 2016-05-11
  • 打赏
  • 举报
回复
引用 7 楼 shingoscar 的回复:
[quote=引用 5 楼 weikeli19 的回复:] [quote=引用 3 楼 shingoscar 的回复:] 先确定下 这里的IList是指 书中写的一个接口叫IList 还是指 System.Collections.IList
我想是接口吧[/quote] 都是接口 CollectionBase是怎么定义的? 书前面有吗?[/quote] CollectionBase是抽象类
weikeli19 2016-05-11
  • 打赏
  • 举报
回复
引用 4 楼 xuzuning 的回复:
知道意思就可以了,切忌咬文嚼字 他的意思是说 CollectionBase 中有一个 ArrayList,属性 List 可以通过 IList 接口来访问他 因为 ArrayList 可以存储任何类型的数据而无需声明(且每个元素的类型都可以不一样),所以实际保存时对象都作为 Object 记性保存 于是在取出的时候就需要做强制类型转换了 这点,看看 C# 的装箱和拆箱 就清楚了 题外话:其实 C# 编译器是什么都知道,在有问题的地方都会给出正确的修改建议。这都是动态语言应有的特征,又何苦非抱着强类型不放呢?
请问这里他的意思是说 CollectionBase 中有一个 ArrayList 这是什么关系 继承还是什么?这句我不太理解 !
Poopaye 2016-05-11
  • 打赏
  • 举报
回复
引用 5 楼 weikeli19 的回复:
[quote=引用 3 楼 shingoscar 的回复:] 先确定下 这里的IList是指 书中写的一个接口叫IList 还是指 System.Collections.IList
我想是接口吧[/quote] 都是接口 CollectionBase是怎么定义的? 书前面有吗?
weikeli19 2016-05-11
  • 打赏
  • 举报
回复
引用 3 楼 shingoscar 的回复:
先确定下 这里的IList是指 书中写的一个接口叫IList 还是指 System.Collections.IList
因为泛型还没学到 要在下一章才讲
weikeli19 2016-05-11
  • 打赏
  • 举报
回复
引用 3 楼 shingoscar 的回复:
先确定下 这里的IList是指 书中写的一个接口叫IList 还是指 System.Collections.IList
我想是接口吧
xuzuning 2016-05-11
  • 打赏
  • 举报
回复
知道意思就可以了,切忌咬文嚼字 他的意思是说 CollectionBase 中有一个 ArrayList,属性 List 可以通过 IList 接口来访问他 因为 ArrayList 可以存储任何类型的数据而无需声明(且每个元素的类型都可以不一样),所以实际保存时对象都作为 Object 记性保存 于是在取出的时候就需要做强制类型转换了 这点,看看 C# 的装箱和拆箱 就清楚了 题外话:其实 C# 编译器是什么都知道,在有问题的地方都会给出正确的修改建议。这都是动态语言应有的特征,又何苦非抱着强类型不放呢?
Poopaye 2016-05-11
  • 打赏
  • 举报
回复
先确定下 这里的IList是指 书中写的一个接口叫IList 还是指 System.Collections.IList
  • 打赏
  • 举报
回复
1,ArrayList说的就是你索引里面那个List 2,完全不知道这句的意思,索引里面不是用了ArrayList的索引吗?
Struggle_hardllz 2016-05-11
  • 打赏
  • 举报
回复
你从哪里看出来有错误了?

111,129

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧