实际上,很少有人想要使用array.在任何时候添加/删除数据时,一定要使用List<T>
,因为调整数组的大小非常昂贵.如果您知道数据是固定长度的,并且出于某种原因(在基准测试之后)希望进行微优化,那么数组可能会很有用.
List<T>
提供的功能比数组多lot个(尽管LINQ将其略微拉平),并且几乎总是正确的 Select .当然,除了params
个论点.;-p
作为计数器-List<T>
是一维的;这里有矩形(etc)数组,比如int[,]
或string[,,]
,但在对象模型中有其他方法来建模此类数据(如果需要).
另见:
也就是说,我在我的protobuf-net项目中使用了lot个数组;完全是为了性能:
byte[]
对于编码来说非常重要;byte[]
缓冲区,在发送到底层流(和v.v.)之前填充该缓冲区;快于BufferedStream
等;Foo[]
而不是List<Foo>
),因为一旦构建,大小是固定的,并且需要非常快.但这绝对是个例外;对于一般的业务线处理,每次List<T>
美元获胜.