在 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);
}
}
在上面的示例中,我们创建了一个名为 student 的 ArrayList。
然后,我们使用 Add() 方法将 "Tina" 和 5 添加到了 ArrayList 中。
注意: ArrayList 存储不同数据类型的元素。但是,如果您想存储相同数据类型的元素,请改用 List<T> 类。
向 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
在上面的示例中,我们创建了一个名为 myList 的 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"。
常见问题
我们也可以使用 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。