我有一个类 Customer
(具有典型的客户属性),我需要传递和数据绑定(bind)一个 Customer
实例的“ block ”。目前我正在使用 Customer
数组,但我也使用了 T
的 Collection
(和 List
T
在我知道 Collection
of T
之前)。我想要使用 C# 和 .NET 3.5 传递此 block 的最简单方法。
目前,Customer
数组对我来说工作得很好。它的数据绑定(bind)很好,而且看起来非常轻便。我不需要 T
提供的 List
和 T
提供的 Collection
仍然看起来有点矫枉过正。该数组确实要求我提前知道我要添加到 block 中的 Customer
的数量,但我总是提前知道这一点(例如,给定页面中的行)。
我是不是遗漏了一些基本的东西,或者 Customer
的数组是否正常?我是否缺少权衡?
此外,我假设 T
的 Collection
会使旧的松散类型的 ArrayList
过时。我在吗?
最佳答案
是的,Collection<T>
(或更常见的是 List<T>
)使得 ArrayList
几乎过时了。我特别相信ArrayList
Silverlight 2 甚至不支持。
数组在某些情况下没问题,但应该是 considered somewhat harmful - 它们有各种缺点。 (它们是大多数集合的实现的核心,当然...)我会详细介绍,但 Eric Lippert 比我在文章中做得更好由链接引用。我会在这里总结一下,但这很难做到。真的值得阅读整篇文章。
关于c# - ArrayList 与对象数组与 T 的集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/573655/