C# ArrayList - GetRange() 方法
C# ArrayList 的 GetRange() 方法用于创建 ArrayList 的子集。此方法创建并返回一个包含源 ArrayList 元素子集的新 ArrayList。
语法
以下是 C# ArrayList 的语法: GetRange() 方法 -
public virtual System.Collections.ArrayList GetRange(int index, int count);
参数
此方法接受以下参数 -
- index:表示范围起始的 ArrayList 索引。
- count:表示范围中的元素数量。
返回值
此方法返回一个 ArrayList,表示源 ArrayList 中元素的子集。
示例 1:创建元素子集
以下是 GetRange() 方法的基本示例,用于从索引 2 开始创建元素的子集,总共 3 个元素 -
using System; using System.Collections; class Program { static void Main() { ArrayList sourceList = new ArrayList() { 1, 2, 3, 4, 5, 6, 7 }; Console.WriteLine("Source ArrayList:"); foreach (var item in sourceList) { Console.Write(item + " "); } // 创建元素子集 // 从索引 2 开始,取出 3 个元素 ArrayList subset = sourceList.GetRange(2, 3); Console.WriteLine(" Subset ArrayList:"); foreach (var item in subset) { Console.Write(item + " "); } } }
输出
以下是输出 -
Source ArrayList: 1 2 3 4 5 6 7 Subset ArrayList: 3 4 5
示例 2:创建混合类型元素的子集
如果 ArrayList 包含混合数据类型,GetRange() 将按原样返回子集,并保留元素的数据类型 -
using System; using System.Collections; class Program { static void Main() { ArrayList mixedList = new ArrayList() { "Hello", 42, 'A', 3.14, "World", true }; Console.WriteLine("Source ArrayList:"); foreach (var item in mixedList) { Console.Write(item + " "); } // 创建元素子集 ArrayList subset = mixedList.GetRange(1, 4); Console.WriteLine("Subset ArrayList:"); foreach (var item in subset) { Console.Write(item + " "); } } }
输出
以下是输出 -
Source ArrayList: Hello 42 A 3.14 World True Subset ArrayList: 42 A 3.14 World
示例 3:尝试访问范围之外的元素
在此示例中,我们使用 GetRange() 方法尝试从 ArrayList 中检索子集。如果范围超出 ArrayList 的边界,此方法将抛出"ArgumentException"异常 -
using System; using System.Collections; class Example { static void Main() { ArrayList list = new ArrayList() { 1, 2, 3, 4, 5 }; try { ArrayList subset = list.GetRange(3, 5); // 索引超出范围 } catch (ArgumentException ex) { Console.WriteLine("Error: " + ex.Message); } } }
输出
以下是输出 -
ERROR! Error: Offset and length were out of bounds for the array or count is greater than the number of elements from index to the end of the source collection.