当前位置:编程学习 > C#/ASP.NET >>

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

我试过用Array 可以转换为 IList<string> IList<User> 自定义类. 也可以转换为IEnumerable<User>
等,到底是如何实现转换的..

如果我想实现一个类,能做到这种转换的支持吗. 即可以转换为IEnumerable<??> 的所有类型,当然里面装的是对应的类型的的数据..就像Array 如果装的是string 的数组,就可以转换为IEnumerable<string> --------------------编程问答-------------------- 能实现这种支持,但是底层是怎么实现的,不知道
关注下 --------------------编程问答-------------------- Array怎么转换成数组?? --------------------编程问答-------------------- 不是太明白。但我认为Array 也只能是一个类型间转换把。如果把一个自定义Class转为string,不行吧! --------------------编程问答-------------------- 这个需要查看一下MSDN帮助文档。 --------------------编程问答-------------------- 当然是一个类型间转换,即Array里所装的类型决定,但是,他是如何做到的,即可以支持转换为任意的类型(前提是Array里面的元素类型和转换后的是一致)

就像他里面只是实现了IList 接口而并未实现IList<string> 那怎么可以转换为IList<string>呢. --------------------编程问答-------------------- 自己顶个 --------------------编程问答-------------------- 比较复杂。按照Jeffrey Ritcher的说法。只有在创建 一个一维的,下限为0的数组类型时,CLR才让数组类型自动实现IEnmerabel<T>, ICollection<T>, IList<T> 三个接口,并且如果值是引用类型,还会为这个数组类型的所有基类实现这三个接口。(如果是值类型的话,就不会为基类实现这三个接口。) --------------------编程问答-------------------- 虽然不是很明白,但还是谢谢回复 --------------------编程问答-------------------- 路过!!!!!!!!!
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,