C# 是否要将静态数组转换为动态数组?

C# 是否要将静态数组转换为动态数组?,c#,.net,C#,.net,Int[]测试=新Int[7] 如何将测试更改为动态数组?在C#中没有堆栈分配的“静态”数组的真正概念(忽略不安全上下文和stackalloc)。你刚才写的是一个动态数组。它是在运行时在托管堆上创建的对象。大小可以是表达式或变量。例如: int[] a = new int[int.Parse(Console.ReadLine())]; 如果动态数组是指可以轻松调整大小的数组(如C++中的vector),则应使用List: List a=新列表(); a、 增加(10); 在C#中没有堆栈分配的

Int[]测试=新Int[7]


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

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

int[] a = new int[int.Parse(Console.ReadLine())];
如果动态数组是指可以轻松调整大小的数组(如C++中的
vector
),则应使用
List

List a=新列表();
a、 增加(10);

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

int[] a = new int[int.Parse(Console.ReadLine())];
如果动态数组是指可以轻松调整大小的数组(如C++中的
vector
),则应使用
List

List a=新列表();
a、 增加(10);

也许您想将其更改为
列表
?如果是这样的话:

int[] test = new int[7];

List<int> testList = new List(test);
int[]测试=新的int[7];
列表测试列表=新列表(测试);

也许您想将其更改为
列表
?如果是这样的话:

int[] test = new int[7];

List<int> testList = new List(test);
int[]测试=新的int[7];
列表测试列表=新列表(测试);

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

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

这将为您提供一个可以根据需要操作的列表类。

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

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

这将为您提供一个列表类,您可以根据需要对其进行操作。

这与SnOrfus之间有什么区别?相同的结果,不同的方法。这与SnOrfus之间有什么区别?相同的结果,不同的方法。