如何在C#中创建一维动态数组?

4

关于C#的新手问题:如何创建一个一维动态数组?以及如何在之后修改它?

谢谢。

5个回答

14

在 C# 中,你可以使用 List<> 对象代替数组。

List<int> integerList = new List<int>();

使用 foreach 运算符来迭代列表中的项目:

foreach(int i in integerList)
{
    // do stuff with i
}

您可以使用Add()Remove()函数向列表对象中添加或删除项目。

for(int i = 0; i < 10; i++)
{
    integerList.Add(i);
}

integerList.Remove(6);
integerList.Remove(7);
您可以使用ToArray()函数将List<T>转换为数组:
int[] integerArray = integerList.ToArray();

这里是List<>对象的文档


1
我想补充一点,如果你需要一个数组作为输出,那么在处理完列表后,你可以调用.ToArray()方法将其转换为数组。 - Paddy
确保包含 using System.Linq 以使 Paddy 的想法生效。 - Callum Rogers
@Callum:使用ToArray函数不需要Linq。 - Thibault Falise
抱歉,我的错误。它实际上是针对IEnumerable<T>的。 - Callum Rogers
不是的,我正在使用.Net 2.0,并且我可以使用IEnumerable<T>和ToArray()。 - Thibault Falise

3
当然,看起来你应该研究一下 List<T>

1

正如其他人所提到的,List<T> 可能是你想要的。但为了完整起见,你可以使用 Array.Resize 静态方法来调整数组大小。例如:

int[] array = { 1, 2, 3 };
Array.Resize(ref array, 4);

0

请使用以下任一选项:

ArrayList  //really you should avoid this.
or List<T>

所以

var my_list = new List<Your_List_Type_Here>() (Like List<String>);

添加的方法如下:

my_list.Add(Your_Object);

通用列表的链接: http://msdn.microsoft.com/zh-cn/library/6sh2ey19.aspx

如果你想返回一个数组,只需调用ToArray()方法。


0

数组不是动态的。如果你想要一些动态的东西,可以使用'List<T>'或其他集合。你总是可以调用ToArray()方法来获取一个数组。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接