【发布时间】:2010-12-08 12:12:07
【问题描述】:
有什么区别:
int[] myIntArray
和
list<int> myIntArray
?
在网络服务中,我读到我应该选择其中一个,而不是混合两者,为什么?
【问题讨论】:
有什么区别:
int[] myIntArray
和
list<int> myIntArray
?
在网络服务中,我读到我应该选择其中一个,而不是混合两者,为什么?
【问题讨论】:
在电线上它们将无法区分 - 即 Customer[] 和 List<Customer> 看起来(大致)如下:
<Customers>
<Customer name="Fred" ... />
<Customer name="Barney" ... />
</Customers>
因此,将两者区别对待的逻辑毫无意义。最终,int[] 使用起来很痛苦(Add 等),所以我倾向于使用List<T> - 当然,wsdl.exe 很好地默认为数组,IIRC - 但是有一个命令行开关(或也许有 wse/wcf)。
【讨论】:
取决于你将如何处理它们。
如果您的数据集是固定大小并且您不需要进行任何排序,则数组更适合。
如果您的数据需要更加动态、允许排序并能够利用 LINQ,那么请使用列表
就个人而言,我更喜欢列表类型的灵活性。
【讨论】:
Array.Sort 静态方法。 LINQ 也与它无关,因为数组也是IEnumerable。可调整大小基本上是最重要的。
List 使用数组作为你知道的后备存储。排序方法可能几乎相同。
List.Sort 实际上调用 Array.Sort 来完成它的工作。
int[] 是一个整数数组。 List 是一个通用列表,包含 int 类型的对象
您选择哪一种取决于您的要求。如果您正在处理不可变的对象集合,则 int[] 会更合适。但是,如果您需要修改集合的内容,List 提供了这种灵活性。
【讨论】:
List的区别。两者都允许您这样做。但是,数组不允许您修改 number 个项目。
它们在功能上是等效的,因此您可以使用其中任何一个。使用一个版本后,请保持一致。这将有助于使您的代码保持可读性和易于维护。
【讨论】:
它们几乎相同,除了列表有很多内置函数来简化程序员的生活。一旦你开始使用列表,你就会爱上它们:D
此外,数组是固定的。您不能(轻松)更改数组的大小。
【讨论】: