ArrayList的示例系列 - 如何转换数组到ArrayList在C# 在以前的帖子'转换ArrayList来阵“我们讨论了如何将一个ArrayList转换成一个数组。今天,就让看到关于如何将数组转换为一个ArrayList(或一个通用的列表)的几个例子。在某些情况下,我们需要创建一个基于阵列上一个ArrayList,这样我们就可以轻松地添加或更新的版本从列表中删除项目。基本上,至少有两种方法可以做到这一点。最简单的一种是使用ArrayList的构造函数直接从数组创建新的实例。该构造函数的重载版本接受的ICollection参数。而且,由于阵列实现ICollection接口,因此可以使用下面的代码来创建ArrayList的一个新实例: 字符串[] itemArray =新的字符串[] {“item1的”,“项目2”,“项目3”}; ArrayList的数组列表=新的ArrayList(itemArray); 我们可以用做皈依另一种方法是AddRange方法。由于相同的构造它接受的ICollection参数。用法是一样 字符串[] itemArray =新的字符串[] {“item1的”,“项目2”,“项目3”}; 的ArrayList arraylist2 =新的ArrayList(itemArray.Length); / /设置ArrayList的初始大小,以避免可能出现的性能问题。 arraylist2.AddRange(itemArray); 这是一个有点复杂大于第一个,但它是一个很好的选择,当我们已经有了一个ArrayList。现在,让我们看到了完整的代码示例: / /该代码是创建者范晓萱 / /并已经过测试,在VS2010用。网4 使用系统; 使用System.Collections.Generic; 使用System.Linq的; 使用System.Text; 使用System.Collections; 命名空间ConsoleApplication11 { 类节目 { 静态无效的主要(字串[] args) { 字符串[] itemArray =新的字符串[] {“item1的”,“项目2”,“项目3”,“项目4”,“项目5”,“项6”}; ArrayList的数组列表=新的ArrayList(itemArray); PrintIndexAndValues(数组列表); / /复制队列中的元素到ArrayList的结尾。 的ArrayList arraylist2 =新的ArrayList(itemArray.Length); arraylist2.AddRange(itemArray); PrintIndexAndValues(数组列表); } 公共静态无效PrintIndexAndValues(ArrayList中myList中) { 了Console.Writeline(“数组列表包含以下值:”); INT I = 0; 的foreach(在myList的对象O) 了Console.Writeline(“\\ T [{0}]:\\ T {1}”,i + +,O); 了Console.Writeline(); } } / * 数组列表包含以下值: [0]条1 [1]:ITEM2 [2]:项目3 [3]:项目4 [4]:项目5 [5]:项6 数组列表包含以下值: [0]条1 [1]:ITEM2 [2]:项目3 [3]:项目4 [4]:项目5 [5]:项6 } 在这篇文章的最后,我想谈谈这两种方式皈依一些高级主题。你知道它们之间的不同?如果我们使用红门。NET的反射来看看ArrayList的构造函数里面,我们会看到他们实际上是相同的。使用什么样的构造函数初始化ArrayList是一个异常检查,大小初始化和AddRange方法,这是一样一样的,我们在第二个方法使用什么。构造函数的源代码是象下面这样。 / /该代码是从Microsoft.NET \\框架\\ V2.0.50727 \\ mscorlib.dll中红门反编译。NET的反射 公众的ArrayList(ICollection中三) { 如果(C == NULL) { 抛出新ArgumentNullException(“C”,Environment.GetResourceString(“ArgumentNull_Collection”)); } this._items =新的对象[c.Count]; / /这行是因为我们所说的新的ArrayList(int)以设定ArrayList的大小,它不太一样 this.AddRange(C); } 现在 是时候,试图通过自己的代码,不要忘记留下意见,在我的BOLG。
ArrayList的示例系列 - 如何转换数组到ArrayList在C#
最新推荐文章于 2022-04-26 14:36:34 发布