CSharp中的数组和ArrayList及List
生活随笔
收集整理的這篇文章主要介紹了
CSharp中的数组和ArrayList及List
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
C# 中的數組、ArrayList、List
數組
數組被大部分的語言支持,操作都類似。
如
數組的優點在于其是連續存儲的,所以它的索引速度是非常的快,而且賦值與修改元素也很簡單,訪問快速。
問題: 其插入和刪除操作則很費勁,而且在創建時,需要知道其大小。
ArrayList
相對數組來說,ArrayList則解決了數組的問題。可以很靈活地插入和刪除。
ArrayList list = new ArrayList();//新增數據 list.Add("Java"); list.Add("CSharp");//修改數據 list[2] = 123456;//移除數據 list.RemoveAt(0);//插入數據 list.Insert(0, "hello");可以看到,ArrayList對數據類型并不嚴格要求。
下面看看ArrayList的定義
[SerializableAttribute] [ComVisibleAttribute(true)] public class ArrayList : IList, ICollection, IEnumerable, ICloneable {// ......private Object[] _items;[ContractPublicPropertyName("Count")]private int _size; } //...可以看到ArrayList中使用object來容納添加的對象。這里會有裝箱,拆箱的操作,造成了性能的損失。
PS: ArrayList并不是所有的.network版本中被支持。
List
泛型List
public interface IList<T> : ICollection<T>, IEnumerable<T>, IEnumerableList則避免了ArrayList的對象裝箱和拆箱的操作
List<int> list = new List<int>();//新增數據 list.Add(123);//修改數據 list[0] = 345;//移除數據 list.RemoveAt(0);總結
以上是生活随笔為你收集整理的CSharp中的数组和ArrayList及List的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 小米6不贴膜会刮花吗(小米官方售后服务)
- 下一篇: Enum in C#