c#数组类和集合类

    技术2022-05-20  46

    在C#中,数组是对象,必须进行实例化。

    eg:

    using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace elitor_array { class Program { static void Main(string[] args) { Array array = Array.CreateInstance(typeof(string), 3);//创建一个长度为3的字符串数组array array.SetValue("elitor", 0);//给数组元素0赋值 array.SetValue("bush", 1);//给数组元素1赋值 array.SetValue("saria", 2);//给数组元素2赋值 Console.WriteLine("数组array的维素是:"); Console.WriteLine(array.Rank);//获取数组的维数 Console.WriteLine("数组array的长度是:"); Console.WriteLine(array.Length); Console.WriteLine("数组array的元素有:"); for (int i = 0; i < array.Length; i++) { Console.WriteLine(array.GetValue(i));//获取数组的元素值 } Console.WriteLine("对数组array进行排序之后,数组排列为:"); Array.Sort(array);//调用数组类Array的函数sort,对数组array进行排序 for (int i = 0; i < array.Length; i++) { Console.WriteLine(array.GetValue(i)); } Array.Reverse(array);//调用数组类Array的函数Reverse,对数组array进行反转 Console.WriteLine("反转后的数组元素为:"); for (int i = 0; i < array.Length; i++) { Console.WriteLine(array.GetValue(i)); } Array arrTemp = Array.CreateInstance(typeof(string), 3);//创建一个长度为3的字符串数组arrTemp array.CopyTo(arrTemp, 0);//将数组array复制到arrTemp中,从索引0开始复制 Console.WriteLine("将数组array复制到arrTemp中后,arrTemp的元素有:"); for (int i = 0; i < arrTemp.Length; i++) { Console.WriteLine(arrTemp.GetValue(i)); } Console.ReadLine(); } } }

     

    运行效果:

     

    System.Collections 命名空间包含接口和类,这些接口和类定义各种对象(如列表、队列、位数组、哈希表和字典)的集合。System.Collections.Generic 命名空间包含定义泛型集合的接口和类,泛型集合允许用户创建强类型集合,它能提供比非泛型强类型集合更好的类型安全性和性能。System.Collections.Specialized 命名空间包含专用的和强类型的集合,例如,链接的列表词典、位向量以及只包含字符串的集合。

    ArrayList 类:使用大小可按需动态增加的数组。eg:

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Collections; //引用System.Collections命名空间 namespace elitor_arraylist { class Program { static void Main(string[] args) { ArrayList al = new ArrayList(); al.Add("elitor"); al.Add("susan"); al.Add("bush"); Console.WriteLine("al的容量是:"); Console.WriteLine(al.Capacity); Console.WriteLine("al中元素个数为:"); Console.WriteLine(al.Count); Console.WriteLine("al中的元素分别为:"); for (int i = 0; i < al.Count; i++) { Console.WriteLine(al[i]);//获取al集合的元素 } al.Remove("elitor");//删除值为elitor的元素 al.RemoveAt(1); Console.WriteLine("删除之后的集合为:");//删除之后的集合 for (int i = 0; i < al.Count; i++) { Console.WriteLine(al[i]);//获取al集合的元素 } al.Clear();//删除全部元素 al.Add(1); al.Add(45); Console.WriteLine("新的集合为:");//新的集合 for (int i = 0; i < al.Count; i++) { Console.WriteLine(al[i]);//获取al集合的元素 } Console.ReadLine(); } } }

     

    运行效果:

     


    最新回复(0)