非范型ArrayList和泛型List<T>
创始人
2024-11-03 20:36:24
0

ArrayList 是 C# 中的一个非泛型集合类,它属于 System.Collections 命名空间。它提供了动态数组的功能,允许你在运行时添加、删除和访问元素。然而,需要注意的是,ArrayList 并不是类型安全的,因为你可以向其中添加任何类型的对象,这可能会在后续处理元素时引发问题,比如类型转换错误。
创建 ArrayList
在 C# 中,你可以这样创建一个 ArrayList:
csharp
复制
using System;
using System.Collections;

class Program
{
static void Main()
{
ArrayList myArrayList = new ArrayList();

    // 添加元素     myArrayList.Add(1);     myArrayList.Add("Hello");     myArrayList.Add(3.14);      // 遍历 ArrayList     foreach(object item in myArrayList)     {         Console.WriteLine(item);     } } 

}
在这个例子中,ArrayList 包含了不同类型的对象(int、string 和 double)。这展示了 ArrayList 的灵活性,但也揭示了它类型不安全的缺点。
访问元素
你可以通过索引访问 ArrayList 中的元素,但是需要注意,访问时返回的类型是 object,因此如果你知道元素的确切类型,可能需要进行类型转换:
csharp
复制
int firstItem = (int)myArrayList[0];
string secondItem = (string)myArrayList[1];
double thirdItem = (double)myArrayList[2];
添加和删除元素
除了 Add 方法,ArrayList 还提供了 AddRange 方法来一次性添加多个元素(这些元素应该来自实现了 ICollection 接口的集合),以及 Remove 和 RemoveAt 方法来删除元素。
泛型集合 vs ArrayList
尽管 ArrayList 提供了一种灵活的方式来存储对象集合,但在现代 C# 编程中,更推荐使用泛型集合(如 List),因为它们提供了类型安全,避免了类型转换的需要,并且通常提供了更好的性能。
例如,使用 List 代替 ArrayList 存储整数:
csharp
复制
using System;
using System.Collections.Generic;

class Program
{
static void Main()
{
List myList = new List();

    myList.Add(1);     myList.Add(2);     myList.Add(3);      // 不需要类型转换     foreach(int item in myList)     {         Console.WriteLine(item);     } } 

}
在这个例子中,List 明确指定了其存储的元素类型为 int,因此不需要进行类型转换,代码更简洁、更安全。

相关内容

热门资讯

一分钟开挂!传送屋有没有挂,约... 一分钟开挂!传送屋有没有挂,约局吧辅助器下载,详细教程-2026最新版本1.约局吧辅助器下载 ai辅...
第六分钟了解!微信小程序微乐房... 第六分钟了解!微信小程序微乐房间怎么开挂(辅助挂)切实是真的挂,安装教程(了解有挂)-哔哩哔哩1、微...
7分钟插件!随意玩h5透视辅助... 7分钟插件!随意玩h5透视辅助,决战卡五星辅助,真是有挂(有挂教程)-哔哩哔哩一、随意玩h5透视辅助...
透视挂透视!竞技联盟破解版最新... 透视挂透视!竞技联盟破解版最新版,pokemomo辅助软件,指引教程(有挂教学)-哔哩哔哩1、起透看...
第8分钟开挂!yy比鸡辅助真的... 第8分钟开挂!yy比鸡辅助真的假的,牛总管辅助免费版,辅助教程-2026最新版本1、打开软件启动之后...
第九分钟详情!情怀游戏字牌辅助... 第九分钟详情!情怀游戏字牌辅助(辅助挂)原来有挂,解密教程(有挂猫腻)-哔哩哔哩1、金币登录送、破产...
第八分钟插件!新众乐辅助,情怀... 第八分钟插件!新众乐辅助,情怀娱乐辅助器,一直是有挂(新版有挂)-哔哩哔哩1、金币登录送、破产送、升...
透视神器!wepoker辅助透... 透视神器!wepoker辅助透视,hhpoker底牌透视脚本,模块教程(有挂分享)-哔哩哔哩1、hh...
第4分钟开挂!微信江苏小程序游... 第4分钟开挂!微信江苏小程序游戏破解器下载,科乐填大坑技巧,详细教程-2026最新版本亲,关键说明,...
第3分钟解密!衢州都莱辅助器开... 第3分钟解密!衢州都莱辅助器开挂(辅助挂)好像真的是有挂,力荐教程(有挂秘笈)-哔哩哔哩1、衢州都莱...