Int [] test = new int [7]
如何将测试更改为动态数组?
答案 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();
这会给你一个你可以根据需要操作的列表类。