[英] Array versus List<T>: When to use which?
MyClass[] array;
List<MyClass> list;
其中一种比另一种更可取的情况是什么?为什么?
MyClass[] array;
List<MyClass> list;
其中一种比另一种更可取的情况是什么?为什么?
实际上,很少有人想要使用数组.在任何时候添加/删除数据时,一定要使用List<T>
,因为调整数组的大小非常昂贵.如果您知道数据是固定长度的,并且出于某种原因(在基准测试之后)希望进行微优化,那么数组可能会很有用.
List<T>
提供的功能比数组多lot个(尽管LINQ将其略微拉平),并且几乎总是正确的选择.当然,除了params
个论点.;-p
作为计数器-List<T>
是一维的;这里有矩形(etc)数组,比如int[,]
或string[,,]
,但在对象模型中有其他方法来建模此类数据(如果需要).
另见:
也就是说,我在我的protobuf-net项目中使用了lot个数组;完全是为了性能:
byte[]
对于编码来说非常重要;byte[]
缓冲区,在发送到底层流(和v.v.)之前填充该缓冲区;快于BufferedStream
等;Foo[]
而不是List<Foo>
),因为一旦构建,大小是固定的,并且需要非常快.但这绝对是个例外;对于一般的业务线处理,每次List<T>
美元获胜.
.NET 4.5 项目未在 Visual Studio 2022 中编译
在接口内部声明 IEnumerable
如何为多种文件类型设置 FileSystemWatcher 过滤器?
在 web api 控制器(.net 核心)中使用 async/await 或任务
指定的版本字符串不符合要求的格式——major[.minor[.build[.revision]]]
无法加载文件或程序集 不支持操作. (来自 HRESULT 的异常:0x80131515)
.NET 框架如何为 OutOfMemoryException 分配内存?