您的位置:首页 > 编程语言 > C#

clr via C#笔记(3)

2014-01-19 10:15 148 查看
字符、字符串和文本处理

在.net framework中,字符总是表示成16位Unicode代码值。







从Encoding派生的类型可用于进行无状态的(中途不保持状态的)编码和解吗。需要从一个流中读取字节时,应该调用Encoding的GetDecoder或GetEncoder方法得到相应对象,然后进行操作。从Encoding派生的类不对方法调用之间的状态进行维护,如果以数据块的形式来编解码,可能会丢失数据

数组





所有数组都隐士实现IEnumberable,Icollection和Ilist。

因为涉及多维数组和非0基数组的问题,CLR团队不希望System.Array实现IEnumberable<T>,ICollection<T>和IList<T>。创建一个一维0基数组类型时,CLR会自动使数组类型实现IEnumberable<T>,ICollection<T>和IList<T>,同时还会为数组类型的所有基类型实现这三个接口,只要他们是引用类型。由于所有这些接口都有CLR自动实现,所以可以将一个FileStream类型数组传给一下任何一种原型的方法

void  M1(IList<FileStream> fsList){}
void  M2(ICollection<Stream> sCollection){}
void  M3(IEnumerable<Object> oEnumerable){}




内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: