C# array arraylist
时间: 2023-10-10 19:16:06 浏览: 54
C#中的数组和ArrayList都是用来存储多个值的数据结构,但它们有一些不同之处。
数组是一种固定长度的数据结构,用于存储相同类型的元素。在C#中,数组可以是单维、多维或交错的。数组的长度在创建时就确定,无法动态改变。数组的元素可以通过索引访问,索引从0开始,最大值为数组长度减1。
ArrayList是动态长度的数组,它可以在运行时动态地增加或减少其大小。ArrayList可以存储不同类型的元素。ArrayList的元素可以通过索引访问,索引从0开始,最大值为ArrayList的元素数量减1。
下面是一个数组和ArrayList的例子:
```csharp
//数组
int[] numbers = new int[3];
numbers[0] = 1;
numbers[1] = 2;
numbers[2] = 3;
//ArrayList
ArrayList list = new ArrayList();
list.Add(1);
list.Add("two");
list.Add(true);
```
在上面的例子中,我们创建了一个长度为3的整数数组和一个空的ArrayList。然后,我们为数组的前三个元素分别赋值1、2和3。对于ArrayList,我们使用Add方法将整数1、字符串"two"和布尔值true添加到列表中。
需要注意的是,虽然ArrayList可以存储不同类型的元素,但这也可能导致一些问题,例如在访问元素时需要进行类型转换。因此,在使用ArrayList时需要谨慎。如果您需要一个固定长度的、类型相同的集合,那么数组可能更适合您的需求。
相关问题
C# ArrayList转换成array
要将C#的ArrayList转换为array,可以使用ToArray()方法。例如:
```csharp
ArrayList list = new ArrayList();
list.Add("item1");
list.Add("item2");
list.Add("item3");
string[] array = (string[])list.ToArray(typeof(string));
```
在这个例子中,我们首先创建一个ArrayList对象并向其添加三个字符串元素。然后,我们使用ToArray()方法将ArrayList转换为string数组。注意,我们使用了typeof(string)作为ToArray()方法的参数,以确保返回的是string类型的数组。最后,我们将返回的数组强制转换为string[]类型并将其存储在array变量中。
c# arraylist集合输入
以下是在 C# 中使用 ArrayList 集合进行输入的示例代码:
```csharp
using System;
using System.Collections;
class Program
{
static void Main(string[] args)
{
ArrayList list = new ArrayList();
Console.WriteLine("请输入一组数字,以逗号分隔:");
string input = Console.ReadLine();
string[] inputArray = input.Split(',');
foreach (string str in inputArray)
{
int num = int.Parse(str);
list.Add(num);
}
Console.WriteLine("输入的数字有:");
foreach (int num in list)
{
Console.WriteLine(num);
}
Console.ReadLine();
}
}
```
在上面的代码中,首先创建了一个 ArrayList 对象,然后提示用户输入一组数字,将输入的字符串按逗号分隔成字符串数组,依次解析每个字符串为整数,并添加到 ArrayList 中。最后遍历 ArrayList 并输出所有数字。