2010-12-18 52 views

回答

5

在C#中沒有真正的堆棧分配靜態數組的概念(忽略不安全上下文和stackalloc)。你剛剛寫的是一個動態數組。它是在託管堆上運行時創建的對象。大小可以是表達式或變量。例如:

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

如果通過動態數組,你的意思是一個數組,你可以很容易地(如vector在C++)調整,你應該使用List<T>

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

也許你想要將其更改爲List<int>?如果是這樣的話:

int[] test = new int[7]; 

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

實際上,這可以通過使用ToList()擴展方法來實現(你將需要導入System.Linq命名空間)。這裏是一個例子:

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

這將給你一個列表類,你可以根據需要操縱。

+0

這和SnOrfus有什麼區別? – user496949 2010-12-18 05:35:18

+0

相同的結果,不同的方法。 – 2010-12-18 06:09:16

相關問題