Array 是如何实现转换为泛型如 IList

chNeed1 2009-09-10 05:47:12
我试过用Array 可以转换为 IList<string> IList<User> 自定义类. 也可以转换为IEnumerable<User>
等,到底是如何实现转换的..

如果我想实现一个类,能做到这种转换的支持吗. 即可以转换为IEnumerable<??> 的所有类型,当然里面装的是对应的类型的的数据..就像Array 如果装的是string 的数组,就可以转换为IEnumerable<string>
...全文
470 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
huanhuaxi_ 2009-09-10
  • 打赏
  • 举报
回复
路过!!!!!!!!!
chNeed1 2009-09-10
  • 打赏
  • 举报
回复
虽然不是很明白,但还是谢谢回复
braveheal 2009-09-10
  • 打赏
  • 举报
回复
比较复杂。按照Jeffrey Ritcher的说法。只有在创建 一个一维的,下限为0的数组类型时,CLR才让数组类型自动实现IEnmerabel<T>, ICollection<T>, IList<T> 三个接口,并且如果值是引用类型,还会为这个数组类型的所有基类实现这三个接口。(如果是值类型的话,就不会为基类实现这三个接口。)
chNeed1 2009-09-10
  • 打赏
  • 举报
回复
自己顶个
chNeed1 2009-09-10
  • 打赏
  • 举报
回复
当然是一个类型间转换,即Array里所装的类型决定,但是,他是如何做到的,即可以支持转换为任意的类型(前提是Array里面的元素类型和转换后的是一致)

就像他里面只是实现了IList 接口而并未实现IList<string> 那怎么可以转换为IList<string>呢.
红街咖啡 2009-09-10
  • 打赏
  • 举报
回复
这个需要查看一下MSDN帮助文档。
herichcq 2009-09-10
  • 打赏
  • 举报
回复
不是太明白。但我认为Array 也只能是一个类型间转换把。如果把一个自定义Class转为string,不行吧!
aXinNo1 2009-09-10
  • 打赏
  • 举报
回复
Array怎么转换成数组??
zhaoweiting0609 2009-09-10
  • 打赏
  • 举报
回复
能实现这种支持,但是底层是怎么实现的,不知道
关注下

110,539

社区成员

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

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

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