谁能解释一下 System.Collections.Generic 下的集合类为什么都不实现 ICloneable 了

yyw84 2006-09-06 03:56:34
谁能解释一下 System.Collections.Generic 下的集合类为什么都不实现 ICloneable 了

这样当我想 Clone 一个对象的时候情况变得复杂很多
...全文
271 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
像ArrayList、Queue等等极其个别几个,他们是复制对集合内元素的引用,而并不是复制了元素。这是否就是Clone其实是有争议的。

正是对ArrayList的非议,才会有今天新的集合类。
ofei 2006-09-06
  • 打赏
  • 举报
回复
讲Clone就讲从一个实例上创建一个新实例...
对集合进行Clone的话只要IEnumerable就可以了吧,不太一样哦
iflang 2006-09-06
  • 打赏
  • 举报
回复
在微软的MSDN上有明确的解释........查.....
  • 打赏
  • 举报
回复
听上去似乎其它不是泛型的都“都实现 ICloneable”?!楼主你危言耸听。
jimh 2006-09-06
  • 打赏
  • 举报
回复
首先<T>这个T(自己的类)需要实现ICloneable,这样item才可以Clone,但是因为T是未知的,所以ICloneable是很难实现的
Ivony 2006-09-06
  • 打赏
  • 举报
回复
泛型当然能实现ICloneable,可能是微软想偷懒吧……。
不过List<T>的构造函数就能完成它的Clone
ofei 2006-09-06
  • 打赏
  • 举报
回复
泛型针对的是类型
clone针对对象实例
yyw84 2006-09-06
  • 打赏
  • 举报
回复
这应该是跟泛型有一定的联系,不过搞不清楚是为什么??

ICloneable 接口是用与现有实例相同的值创建类的新实例,
泛型类不也是类,同样派生自System.Object, 创建的实例不也是对象
ofei 2006-09-06
  • 打赏
  • 举报
回复
好高难度啊 

搞清楚什么是范型先

110,566

社区成员

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

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

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