Gil*_*lla 28 c# arrays collections
对于保证使用阵列的每种情况......都有一个很棒的收藏品.在.NET中是否有任何针对数组的特定用例?
Fem*_*ref 34
我想到发送/接收具有特定长度的数据,即.串口,Web请求,FTP请求.基本上是在系统中较低级别工作的东西.此外,大多数集合都使用数组进行存储(可注意的例外:) LinkedList<T>.集合只是另一个抽象层.
数组非常有用,因为它们在内存中始终是线性的,并且可以快速使用.例如,我可以将a byte[]和marshal直接带入一个没有任何问题的结构中,但List<T>据我所知,首先必须将其转换为数组.
是的,当然还有数组的用途.有些方法仍然需要数组.
例如:
string[] items = "a,b;c:d".Split(new char[]{',',';',':'});
Run Code Online (Sandbox Code Playgroud)
它仍然是保留大量项目的最简单方法,也是最需要的选择,直到您需要某些特定功能,例如动态增长.
不,他们仍然有他们的用途,应该始终考虑.
记住数组是固定长度的非常基本的表示,因此它们非常快,并且大多数语言根据数组中使用的类型来理解它们.
您需要在创建数组时定义数组大小,以后不能更改其大小.列表和其他内容可以根据需要增长,这增加了内存分配的开销.
列表和其他类型很有用,因为它们可以做很多事情,但有时你不需要额外的所有开销,所以你只需要一个数组.
这就像驾驶一辆4x4因为你认为有一天你可能需要去越野,即使有99.9%的机会你会在正常的道路上行驶.阵列将是基本的汽车,例如列表将是4x4 ......它可以做汽车可以做的其他事情(引擎盖可能会使用大部分相同的部件)但是以牺牲汽油,成本,可能不会适合某些停车位等...
数组=性能和兼容性
列表(或其他表示)=以性能和兼容性为代价的易用性
| 归档时间: |
|
| 查看次数: |
1081 次 |
| 最近记录: |