导入
ArrayList
了解如何使用非泛型的 ArrayList 集合,并识别其在类型安全性方面的主要限制。
代码示例
1int[] points = new int[30]; // 可以容纳 30 个整数的数组
遍历数组
1for (int i = 0; i < points.Length; i++) 2{ 3 Console.WriteLine(points[i]); 4}
1using System.Collections; 2 3// 如我们所见,无需提供大小 4var points = new ArrayList(); 5 6// Add 方法将项目添加到列表末尾 7points.Add(87); 8points.Add(90); 9points.Add(70); 10points.Add(92); 11 12// Count 属性存储列表中项目的数量 13Console.WriteLine($"数组包含 {points.Count} 个项目。"); 14 15// RemoveAt 移除指定索引处的项目 16// 在此情况下,我们移除第一个项目 17points.RemoveAt(0); 18 19// ArrayList 具有索引器,允许我们 20// 就像操作数组一样与它交互 21Console.WriteLine($"第一个项目现在是 {points[0]}。"); 22 23Console.WriteLine($"数组包含 {points.Count} 个项目。"); 24 25// ArrayList 可以被迭代 26foreach (var point in points) 27{ 28 Console.WriteLine(point); 29}
1using System.Collections; 2 3var points = new ArrayList(); 4points.Add(10); 5points.Add(20); 6 7// AddRange 一次性添加多个项目 8int[] morePoints = { 30, 40, 50 }; 9points.AddRange(morePoints); 10 11// Insert 在特定索引处插入一个项目 12points.Insert(1, 15); 13 14// Contains 检查某个项目是否存在 15bool hasTwenty = points.Contains(20); 16Console.WriteLine($"包含 20: {hasTwenty}"); 17 18Console.WriteLine($"总项目数: {points.Count}");
1using System.Collections; 2 3var points = new ArrayList(); 4 5// 我们已添加了 4 个分数 6points.Add(87); 7points.Add(90); 8points.Add(70); 9points.Add(92); 10 11// 有人不小心添加了一个字符串项目 12points.Add("String? Yes. We can add strings"); 13 14// 现在我们要计算平均值 15int totalSum = 0; 16foreach (var point in points) 17{ 18 // 虽然我们添加的是整数, 19 // 但它被存储为对象。 20 // 这就是为什么我们需要将其转换回整数。 21 totalSum += (int)point; 22} 23 24Console.WriteLine($"平均值是 {(double)totalSum / points.Count}。");