C# 动态数组

在 C# 中,ArrayList 存储了多种数据类型的元素,并且其大小可以动态改变。例如:

using System;
using System.Collections;

class Program
{
    public static void Main()
    {
        // create an ArrayList
        ArrayList student = new ArrayList();

        // add elements to ArrayList
        student.Add("Jackson");
        student.Add(5);

        // display every element of myList 
        for (int i = 0; i < student.Count; i++)
        {
            Console.WriteLine(student[i]);
        }
    }
}

输出

Jackson
5

在这里,student 是一个包含不同数据类型元素("Jackson"5)的 ArrayList

我们将详细了解 ArrayList


创建 ArrayList

要在 C# 中创建 ArrayList,我们需要使用 System.Collections 命名空间。以下是在 C# 中创建 arraylist 的方法。

// create an arraylist
ArrayList myList = new ArrayList();

在这里,我们创建了一个名为 myList 的 arraylist。


ArrayList 的基本操作

在 C# 中,我们可以对 arraylist 执行各种操作。在本教程中,我们将介绍一些常用的 arraylist 操作。

  • 添加元素
  • 访问元素
  • 更改元素
  • 移除元素

让我们更详细地看看如何执行这些操作!


在 ArrayList 中添加元素

C# 提供了一个名为 Add() 的方法,我们可以使用它来向 ArrayList 添加元素。例如:

using System;
using System.Collections;

class Program
{
    public static void Main()
    {
        // create an ArrayList
        ArrayList student = new ArrayList();

// add elements to ArrayList student.Add("Tina"); student.Add(5);
} }

在上面的示例中,我们创建了一个名为 studentArrayList

然后,我们使用 Add() 方法将 "Tina"5 添加到了 ArrayList 中。

注意: ArrayList 存储不同数据类型的元素。但是,如果您想存储相同数据类型的元素,请改用 List<T> 类。


向 ArrayList 添加元素的其他方法

使用对象初始化器语法在 ArrayList 中添加元素
using System;
using System.Collections;

class Program
{
    public static void Main()
    {
        // create an ArrayList using var  
        ArrayList myList = new ArrayList() { "Pizza", 24, "Pen" };

        // iterate through items
        for (int i = 0; i < myList.Count; i++)
        {
            Console.WriteLine(myList[i]);
        }
    }
}

输出

Pizza
24
Pen

在上面的示例中,我们创建了一个名为 myListArrayList,并使用花括号同时为其分配了值。

这就是我们使用对象初始化器语法的方式。

注意: 对象初始化器允许我们在创建对象时为其分配值。

在指定索引处向 ArrayList 添加元素

要在 ArrayList 的指定索引处添加元素,我们使用 Insert() 方法。例如:

using System;
using System.Collections;

class Program
{
    public static void Main()
    {
        // create an ArrayList 
        ArrayList myList = new ArrayList();

        myList.Add("Jimmy");
        myList.Add("Blake");
        myList.Add("Taylor");

        Console.WriteLine("Before Inserting: " + myList[1]);

// insert "Tim" at first index position myList.Insert(1, "Tim");
Console.WriteLine("After Inserting: " + myList[1]); } }

输出

Before Inserting: Blake
After Inserting: Tim

在上面的示例中,我们使用 Insert() 方法将 "Tim" 插入到了第二个索引位置。

注意: 请记住,Add() 方法在列表末尾添加元素,而 Insert() 方法在指定位置添加元素。


访问 ArrayList 元素

我们使用索引来访问 ArrayList 中的元素。索引从 0 开始。例如:

using System;
using System.Collections;

class Program
{
    public static void Main()
    {
        // create an ArrayList 
        ArrayList schoolDetails = new ArrayList();
        schoolDetails.Add("Mary's");
        schoolDetails.Add("France");
        schoolDetails.Add(23);

// access the first element Console.WriteLine("First element: " + schoolDetails[0]); // access the second element Console.WriteLine("Second element: " + schoolDetails[1]);
} }

输出

First element: Mary's
Second element: France

由于 ArrayList 的索引从 0 开始

  • schoolDetails[0] - 访问第一个元素
  • schoolDetails[1] - 访问第二个元素

迭代 ArrayList

在 C# 中,我们也可以使用 for 循环遍历 ArrayList 的每个元素。例如:

using System;
using System.Collections;

class Program
{
    public static void Main()
    {
        // create an ArrayList containing 3 elements 
        ArrayList myList = new ArrayList();

        myList.Add("Science");
        myList.Add(true);
        myList.Add(5);

// display every element of myList for (int i = 0; i < myList.Count; i++) { Console.WriteLine(myList[i]); }
} }

输出

Science
True
5

在上面的示例中,我们使用 for 循环遍历了 myList

这里,myList.Count 给出 myList 中的元素数量。


更改 ArrayList 元素

我们可以像这样更改 ArrayList 中元素的值:

using System;
using System.Collections;

class Program
{
    public static void Main()
    {
        // create an ArrayList 
        ArrayList myList = new ArrayList();

        myList.Add("Harry");
        myList.Add("Miller");

        Console.WriteLine("Original Second element: " + myList[1]);

// change the value of second element myList[1] = "Styles";
Console.WriteLine("Updated second element: " + myList[1]); } }

输出

Original Second element: Miller
Updated second element: Styles

在这里,我们更改了 myList 中第二个元素的值。


删除 ArrayList 元素

C# 提供了 Remove()RemoveAt()RemoveRange() 等方法来从 ArrayList 中删除元素。

我们将在下面看一个使用 Remove() 删除元素的示例。

using System;
using System.Collections;

class Program
{
    public static void Main()
    {
        // create an ArrayList 
        ArrayList myList = new ArrayList();
        myList.Add("Jack");
        myList.Add(4);
        myList.Add("Jimmy");

// remove "Jack" from myList myList.Remove("Jack");
// iterate through myList after removing "Jack" for (int i = 0; i < myList.Count; i++) { Console.WriteLine(myList[i]); } } }

输出

4
Jimmy

在上面的示例中,我们使用 Remove() 方法从 myList 中删除了 "Jack"


常见问题

创建 ArrayList 的另一种方法

我们也可以使用 var 关键字创建 ArrayList。例如:

using System;
using System.Collections;

class Program
{
    public static void Main()
    {
// create an ArrayList using var var person = new ArrayList();
person.Add("Chris"); person.Add(45); Console.WriteLine("Element at first index: " + person[1]); } }

输出

Element at first index: 45
如何检查 ArrayList 中是否包含某个元素?

C# 提供了一个名为 Contains() 的方法,我们可以使用它来确定 ArrayList 中是否包含某个元素。例如:

using System;
using System.Collections;

class Program
{
    public static void Main()
    {
        // create an ArrayList 
        var myList = new ArrayList() { "Delicate", "Willow", "Style", 3 };

// check whether myList contains "Willow" var result = myList.Contains("Willow");
Console.WriteLine(result); } }

输出

True

在这里,myList 包含 "Willow",所以 myList.Contains("Willow") 返回 True

你觉得这篇文章有帮助吗?

我们的高级学习平台,凭借十多年的经验和数千条反馈创建。

以前所未有的方式学习和提高您的编程技能。

试用 Programiz PRO
  • 交互式课程
  • 证书
  • AI 帮助
  • 2000+ 挑战