C#中list 数组 区别,ArrayList和List三者的区别

C#中[],List,Array,ArrayList的区别于应用,有需要的朋友可以参考下。[] 是针对特定类型、固定长度的。List 是针对特定类型、任意长度的。Array 是针对任意类型、固定长度的。ArrayList 是针对任意类型、任意长度的。Array 和 ArrayList 是通过存储 object 实现任意类型的,所以使用时要转换。using S using System.Collections.G using System.L using System.W using System.Web.UI; using System.Web.UI.WebC using System.C public partial class _Default : System.Web.UI.Page {
protected void Page_Load(object sender, EventArgs e)
{ // System.Int32 是结构 int[] arr = new int[] { 1, 2, 3 }; Response.Write(arr[0]); // 1 Change(arr); Response.Write(arr[0]); // 2 // List 的命名空间是 System.Collections.Generic List&int& list = new List&int&(); list.Add(1); list.Add(2); list.Add(3); Response.Write(list[0]); // 1 Change(list); Response.Write(list[0]); // 2 // Array 的命名空间是 System Array array = Array.CreateInstance(System.Type.GetType(&System.Int32&), 3); // Array 是抽象类,不能使用 new Array 创建。 array.SetValue(1, 0); array.SetValue(2, 1); array.SetValue(3, 2); Response.Write(array.GetValue(0)); // 1 Change(array); Response.Write(array.GetValue(0)); // 2 // ArrayList 的命名空间是 System.Collections ArrayList arrayList = new ArrayList(3); arrayList.Add(1); arrayList.Add(2); arrayList.Add(3); Response.Write(arrayList[0]); // 1 Change(arrayList); Response.Write(arrayList[0]); // 2
private void Change(int[] arr)
{ for (int i = 0; i & arr.L i++) { arr[i] *= 2; }
private void Change(List&int& list)
{ for (int i = 0; i & list.C i++) // 使用 Count { list[i] *= 2; }
private void Change(Array array)
{ for (int i = 0; i & array.L i++) // 使用 Length { array.SetValue((int)array.GetValue(i) * 2, i); // 需要类型转换 }
private void Change(ArrayList arrayList)
{ for (int i = 0; i & arrayList.C i++) // 使用 Count { arrayList[i] = (int)arrayList[i] * 2; // 需要类型转换 }
} }另外:把一个对象数组转换成ArrayList可以使用ArrayList.Adapter方法。这个方法把一个IList包裹在一个ArrayLIst里。Person[] personArray = myPerson.GetPersons();ArrayList personList = ArrayList.Adapter(personArray); 把一个ArrayList转换成对象数组可以使用ArrayList.ToArray方法。Person[] personArrayFromList = (Person[])personList.ToArray(typeof(Person)); 不要忘了在调用ArrayList.ToArray方法之前进行强制类型转换,否则在编译的时候会出错提示你不能把一个ArrayList转换成Person对象数组。C#中数组、ArrayList和List三者的区别
HTML &button& 和 input typ
最新教程周点击榜
微信扫一扫C# []、List、Array、ArrayList 区别及应用_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
C# []、List、Array、ArrayList 区别及应用
上传于|0|0|文档简介
&&C# []、List、Array、ArrayList 区别及应用
你可能喜欢}

我要回帖

更多关于 java数组和list区别 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信