c# - ArrayList 与对象数组与 T 的集合

标签 c# arrays generics collections

我有一个类 Customer(具有典型的客户属性),我需要传递和数据绑定(bind)一个 Customer 实例的“ block ”。目前我正在使用 Customer 数组,但我也使用了 TCollection(和 List T 在我知道 Collection of T 之前)。我想要使​​用 C# 和 .NET 3.5 传递此 block 的最简单方法。

目前,Customer 数组对我来说工作得很好。它的数据绑定(bind)很好,而且看起来非常轻便。我不需要 T 提供的 ListT 提供的 Collection 仍然看起来有点矫枉过正。该数组确实要求我提前知道我要添加到 block 中的 Customer 的数量,但我总是提前知道这一点(例如,给定页面中的行)。

我是不是遗漏了一些基本的东西,或者 Customer 的数组是否正常?我是否缺少权衡?

此外,我假设 TCollection 会使旧的松散类型的 ArrayList 过时。我在吗?

最佳答案

是的,Collection<T> (或更常见的是 List<T>)使得 ArrayList几乎过时了。我特别相信ArrayList Silverlight 2 甚至不支持。

数组在某些情况下没问题,但应该是 considered somewhat harmful - 它们有各种缺点。 (它们是大多数集合的实现的核心,当然...)我会详细介绍,但 Eric Lippert 比我在文章中做得更好由链接引用。我会在这里总结一下,但这很难做到。真的值得阅读整篇文章。

关于c# - ArrayList 与对象数组与 T 的集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/573655/

相关文章:

ios - 调用在类中初始化的字典数组

c# - 尝试将 Mock<T> 用于泛型时,Moq 出现奇怪问题

c# - 任务等待与 Task.WaitAll

arrays - 已排序矩阵中的第 K 个最小元素

javascript - 生成字符串数组的不同组合 [JavaScript]

java - 方法不适用于参数,可能存在异常类型删除问题吗?

Scala:返回类型 Seq[A] 或 Future[Seq[A]] 的泛型

Swift Generics - 调用哪个方法?

c# - Windows Phone XNA 射击游戏 => UDP、TCP 或混合?

c# - 使用任务计划程序的应用程序很快就会耗尽内存