Head First C# 中文版 图文皆译 第八章 枚举和集合 page325
2009-04-08 22:00
423 查看
问:我何时会用枚举代替List呢?它们不是解决一样的问题吗?
答:你可以把枚举看做存储多个常量的简便方法。它们可以使你的代码易读。List中可以存储任何东西。其中的每个元素都有自己的方法和属性。而枚举只可以存储某些数字类型。所以枚举不可用来存储引用类型。枚举也不可以动态改变大小,不可以包含方法不可以实现接口。可以看出枚举和List有很多不同点。但是它们都有各自不同的作用。
问:List看起来很强大。那么我为什么还要用数组呢?
答:数组占用的内存和CPU比较少。如果你的程序对性能要求很严格,比如需要成千次的做同一个操作,你会发现List会使得你的程序变慢。很幸运,你可以通过List的ToArray()方法来把List转化为数组,也可以用List的一个重载的构造方法来把数组转化为List。
问:我不懂“泛型”这个名字。为什么叫做泛型集合呢?数组为什么不是泛型呢?
答:泛型集合是用来存储某种特定类型的集合对象。
问:好的,你解释了“集合”。但是“泛型”呢?
答:无论List<>中存储的是什么类型,它的行为都是一样的。所以无论列表中是什么类型的数据,你总是可以添加、移除、插入...“泛型”这个术语是指虽然一个List的实例只可以存储一种特定类型,但是List类是可以普遍的操作任何类型的。你可以用<T>来把一种类型绑定到一个列表实例。但是List类是可以运用于任何类型的。
问:存在没有类型的列表吗?
答:没有。任何列表--其实,是任何集合类型--必须和一种特定类型绑定。C#中确实有可以存储任何对象的非泛型列表,它叫做ArrayList。但是由于泛型集合的强大,很少有人用非泛型集合了。所以我们不讨论非泛型列表。
创建List对象的时候,总是要指定某种类型--这告诉C#该List对象将要存储哪种数据。它可以存储值类型,也可以存储引用类型。
相关文章推荐
- Head First C# 中文版 图文皆译 第八章 枚举和集合 page311
- Head First C# 中文版 图文皆译 第八章 枚举和集合 page317
- Head First C# 中文版 图文皆译 第八章 枚举和集合 page321
- Head First C# 中文版 图文皆译 第八章 枚举和集合 page324
- Head First C# 中文版 图文皆译 第八章 枚举和集合 page326
- Head First C# 中文版 图文皆译 第八章 枚举和集合 page336
- Head First C# 中文版 图文皆译 第八章 枚举和集合 page368
- Head First C# 中文版 图文皆译 第八章 枚举和集合 page374
- Head First C# 中文版 图文皆译 第八章 枚举和集合 page380
- Head First C# 中文版 图文皆译 第八章 枚举和集合 page382
- Head First C# 中文版 图文皆译 第八章 枚举和集合 page315
- Head First C# 中文版 图文皆译 第八章 枚举和集合 page350
- Head First C# 中文版 图文皆译 第八章 枚举和集合 page313
- Head First C# 中文版 图文皆译 第八章 枚举和集合 page332
- Head First C# 中文版 图文皆译 第八章 枚举和集合 page338
- Head First C# 中文版 图文皆译 第八章 枚举和集合 page342
- Head First C# 中文版 图文皆译 第八章 枚举和集合 page356
- Head First C# 中文版 图文皆译 第八章 枚举和集合 page384
- Head First C# 中文版 图文皆译 第八章 枚举和集合 page381
- Head First C# 中文版 图文皆译 第八章 枚举和集合 page354