在 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
。