无论如何将静态数组转换为动态数组?

时间:2010-12-18 04:22:43

标签: c# .net

Int [] test = new int [7]

如何将测试更改为动态数组?

3 个答案:

答案 0 :(得分:5)

在C#中没有堆栈分配“静态”数组的真实概念(忽略不安全的上下文和stackalloc)。你刚刚写的是一个动态数组。它是在托管堆上运行时创建的对象。大小可以是表达式或变量。例如:

int[] a = new int[int.Parse(Console.ReadLine())];

如果使用动态数组,你的意思是一个可以轻松调整大小的数组(比如C ++中的vector),你应该使用List<T>

List<int> a = new List<int>();
a.Add(10);

答案 1 :(得分:0)

也许您想将其更改为List<int>?如果是这样的话:

int[] test = new int[7];

List<int> testList = new List(test);

答案 2 :(得分:0)

实际上,这可以通过使用ToList()扩展方法来实现(您需要导入System.Linq命名空间)。这是一个例子:

int[] numbers = { 2, 3, 4, 5 };
IList<int> numbersDynamic = numbers.ToList();

这会给你一个你可以根据需要操作的列表类。