C#入门教程之集合ArrayList用法详解

C#入门教程之集合ArrayList用法详解

什么是ArrayList?

ArrayList是C#中的一种集合,其可存储任意类型的元素,并且可以动态增加或删除元素。与数组相比,ArrayList的大小可以动态变化,使其更加灵活。

ArrayList的基本用法

创建和初始化ArrayList

使用ArrayList时,需要先实例化一个ArrayList对象,然后通过Add方法来添加元素。下面的示例展示了如何创建和初始化ArrayList对象:

ArrayList list = new ArrayList();
list.Add("apple");
list.Add("banana");
list.Add("orange");

遍历ArrayList

遍历ArrayList时,可以使用foreach循环或for循环。下面的示例展示了两种遍历方法:

//使用foreach循环遍历ArrayList
foreach (var item in list)
{
    Console.WriteLine(item);
}

//使用for循环遍历ArrayList
for (int i = 0; i < list.Count; i++)
{
    Console.WriteLine(list[i]);
}

查询和修改ArrayList

要查询ArrayList中的元素,可以使用Indexof方法和Contains方法,它们分别用于查找元素所在的索引和判断元素是否存在。要修改ArrayList中的元素,可以直接使用索引来修改元素的值。下面的示例展示了如何查询和修改ArrayList:

//查询元素
int index = list.IndexOf("banana");
bool contains = list.Contains("orange");

//修改元素
list[0] = "cherry";

删除元素

删除ArrayList中的元素有多种方法,例如Remove方法和RemoveAt方法。Remove方法用于删除指定元素,RemoveAt方法用于删除指定索引位置的元素。下面的示例展示了如何删除ArrayList中的元素:

//删除指定元素
list.Remove("banana");

//删除指定索引位置的元素
list.RemoveAt(0);

示例说明

示例1

下面的示例展示了如何使用ArrayList来存储和遍历学生的考试成绩:

ArrayList scoreList = new ArrayList();
scoreList.Add(85);
scoreList.Add(76.5);
scoreList.Add(90);
scoreList.Add(69.5);

double sum = 0;
foreach (var score in scoreList)
{
    sum += Convert.ToDouble(score);
}
double avg = sum / scoreList.Count;
Console.WriteLine("平均分:" + avg);

示例2

下面的示例展示了如何使用ArrayList来管理购物车中的商品:

ArrayList cartList = new ArrayList();
cartList.Add("T-Shirt");
cartList.Add("Shoes");
cartList.Add("Jeans");

//遍历购物车中的商品
foreach (var item in cartList)
{
    Console.WriteLine(item);
}

//从购物车中删除指定商品
cartList.Remove("Shoes");

总结

ArrayList是C#中一种常用的集合,拥有动态增删元素、存储任意类型元素等特点,非常适合存储数据的需求。熟悉ArrayList的基本用法,对于提高C#程序员的编程水平非常有帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C#入门教程之集合ArrayList用法详解 - Python技术站

(0)
上一篇 2023年6月1日
下一篇 2023年6月1日

相关文章

  • C#通过PInvoke调用c++函数的备忘录的实例详解

    C#通过PInvoke调用C++函数的备忘录 什么是PInvoke PInvoke是Platform Invoke的缩写,是.NET Framework提供给C#程序员调用非托管DLL(Dynamic Link Library)在 Windows 平台上的接口技术。PInvoke 提供的主要技术便是 Marshal 类,Marshal 类可以完成 数据类型 …

    C# 2023年6月7日
    00
  • c# 进程之间的线程同步

    C# 进程之间的线程同步 在多进程场景下,各进程和进程内的线程之间需要协同工作才能完成任务。线程同步是一种常见的线程协同机制,其目的在于控制多个线程之间的相互作用,避免出现线程间的竞争关系或者死锁。 线程同步机制 常见的线程同步机制包括:mutex、semaphore、monitor、event 等。 Mutex Mutex 是一种二进制锁,即该锁只有两种状…

    C# 2023年6月6日
    00
  • C#委托和事件

    1.委托 两大作用: (1)将方法当作参数传递 (2)方法的一种多态(多播委托) 一个弊端: 委托可以使用=,+=,-=来发布订阅,所以这里有一个弊端,它可以使用“=”将所有已经订阅的取消,只保留=后的这一个订阅。这样如果让多个类中写的委托轻易就能被修改,让程序变得不安全,所以为了解决这个弊端,事件event应运而生。 多说几句,委托和event的关系就类似…

    C# 2023年4月18日
    00
  • C# 限制输入为字母或数字以及长度

    日常开发过程中,验证字符的合法性一直是一个必不可少的步骤,以前都是在用户输入完再做判断,不仅麻烦在不符合标准的时候还要提示用户修改,体验很差,为什么不在输入的时候加以限制呢? 以 Winform的TextBox控件为例,这里提供两种方案: 通过字符匹配 正则表达式 在用户输入时限制,所以选用KeyPress事件。 字符匹配 private void txt_…

    C# 2023年4月17日
    00
  • C# FTP操作类分享

    C# FTP操作类分享 在.NET开发中,FTP协议是常用的文件传输方式之一,C#语言也提供了FTP相关的操作类。本文将分享C#中如何操作FTP的实现方法,包括连接FTP服务器、上传文件、下载文件等操作,并附有两条示例说明。 连接FTP服务器 连接FTP服务器通常需要服务器地址、用户名和密码等信息,并使用FTP连接类FtpWebRequest进行连接,示例代…

    C# 2023年6月1日
    00
  • C#判断一个图像是否是透明的GIF图的方法

    判断一个图像是否是透明的GIF图是一个常见的需求,下面将介绍如何使用C#语言实现。 1. 判断图像中是否存在透明像素 一张GIF图像通常会包含多个帧,因此我们首先需要遍历每一个帧,并对每一个帧进行透明像素检查。 using System.Drawing; using System.Drawing.Imaging; public static bool IsT…

    C# 2023年6月1日
    00
  • 快速高效的C#FTP文件传输库FluentFTP

    简介: FluentFTP是一个用于C#语言的FTP客户端库,它提供了许多方便的功能和API,使FTP文件传输变得简单易用。FluentFTP的主要目标是提供简单易用的API,并同时提供足够的灵活性以满足大多数开发人员的需求。 FluentFTP支持FTP和FTPS协议,可以通过简单的API进行连接、上传、下载、删除、重命名等操作。此外,它还支持断点续传、文…

    C# 2023年5月9日
    00
  • C# Razor语法规则

    C# Razor语法规则是用于在ASP.NET Web应用程序中编写动态页面的一种语法规则。它允许在HTML页面中嵌入C#代码,以便在客户端浏览器中执行C#代码。下面是C# Razor语法规则的一些基本规则: 1. 嵌入C#代码 使用@符号来嵌入C#代码到HTML页面中。例如: <p>@DateTime.Now.ToString()</p&…

    C# 2023年5月14日
    00
合作推广
合作推广
分享本页
返回顶部