C#中如何选择使用T[]或List<T>
2023-09-11 14:16:51 时间
当有一组数据需要存放,到底是使用T[]呢,还是选择List<T>呢?
先来看数组。
所有的数组类型都隐式地从System.Array这个抽象类派生,而System.Array又派生自System.Object。也就是说数组是引用类型。通过如下方式创建数组:
int[] arrInt = new int[10];
以上,在托管堆上分配了可以容纳10个未装箱int对象所需要的内存块(这个内存块除了容纳数组元素所占的内存,还包括数组元素对象的类型对象指针、同步块索引等额外成员),然后内存块地址被返回并保存到线程栈上的arrInt变量中。
而List<T>,实际上,在内部也维护着一个数组,只不过这个数组的容量可以动态增加。就像这里说的。
总结:如果数据的容量是动态变化的,需要操作,比如插入或删除元素,就使用List<T>;如果数据的容量是固定的,可以考虑使用T[]。
相关文章
- C#子线程中更新ui-----c# 多线程多文件批量下载
- C# List中写出LINQ类似SQL的语句
- Python脚本调用C#代码数据交互示例(hello world)
- 读写分离子系统 - C# SQL分发子系统(目前只支持ADO.NET)
- C#.NET常见问题(FAQ)-如何声明list的多维数组
- C#.NET常见问题(FAQ)-使用SharpDevelop开发 如何在项目中添加类文件
- 数字图像处理 使用C#进行图像处理三
- C#中数组、ArrayList与List对象的区别
- json串 转 list<class> 方法 List转JSONArray和JSONArray转List String 转List
- C# 常用函数集锦
- Atitit。监听键盘上下左右方向键事件java js jquery c#.net
- List.Foreach与C#的foreach的区别
- C#如何在List里求某一列的數值的和SUM
- (四十七)c#Winform自定义控件-树表格(treeGrid)-HZHControls
- C#+无unsafe的非托管大数组(large unmanaged array in c# without 'unsafe' keyword)
- C# 注册表帮助类
- C#中锁的使用分类
- C#实现对象映射AutoMapper
- C# 并发安全集合ConcurrentBag取代List
- C#异步编程基础入门总结
- C# 查询所有设备的插拔事件
- C#综合细说进程、应用程序域与上下文
- List<?> list= new ArrayList<?>接口引用指向实现类的对象.