新彩天欢迎您!
幻海优品

.NET(C#) 数组、ArrayList和List<T>的使用

1、数组

数组在内存上连续分配的,而且数组中元素类型是一样的可以下标访问,数据读取快但增删慢,长度不变。

例如,

Console.WriteLine("***************Array******************");int[] intArray = new int[3];intArray[0] = 2020;string[] strArray = new string[] { "C/C++", "C#", "Java","Python" };//Arrayfor( int i=0;i<strArray.Length;i++){  Console.WriteLine(strArray[i]);}foreach(var item in strArray){  Console.WriteLine("item = "+item);}

2、ArrayList

ArrayList是不定长的,内存上是连续分配的,其中元素没有类型限制,任何元素都是当成object处理,如果是值类型,会有装箱操作。数据读取快但增删慢。

例如,

Console.WriteLine("***************ArrayList******************");ArrayList arrayList = new ArrayList();arrayList.Add("wonhero");arrayList.Add("c#");arrayList.Add("c/++");arrayList.Add("java");arrayList.Add("python");arrayList.Add(2022);//add增加长度//arrayList[4] = 26;//修改数据,不会增加长度//删除数据//arrayList.RemoveAt(4);var value = arrayList[2];arrayList.RemoveAt(0);arrayList.Remove("c#");for( int i=0;i<arrayList.Count;i++){  Console.WriteLine(arrayList[i]);}foreach(var item in arrayList){  Console.WriteLine("item = "+item);}

3、List<T>

List<T>也是Array,内存上都是连续摆放不定长;泛型使用保证类型安全,可以避免装箱拆箱,数据读取快但增删慢。

例如,

Console.WriteLine("***************List<T>******************");List<int> intList = new List<int>() { 1, 2, 3, 4 };intList.Add(2022);intList.Add(1314);//intList.Add("22");//intList[0] = 11;List<string> stringList = new List<string>();//stringList[0] = "c#";//不能这样新增for( int i=0;i<intList.Count;i++){  Console.WriteLine(intList[i]);}foreach (var item in intList){  Console.WriteLine("item = "+item);}

免责声明:以上内容(如有图片或视频亦包括在内)有转载其他网站资源,如有侵权请联系删除