看不到任何引用 C# 中静态数组的资源



C# 中的数组,包括 n 维数组和交错数组,都是使用 new 运算符声明的。这是否意味着 C# 只使用动态数组?

PS:说动态数组,我的意思是动态分配的数组,它们的值在堆中,指针在堆栈中引用它们。

是的,C# 中的数组通常是在堆上动态分配的。所有数组类型都继承自System.Array,这是一个引用类型。

但是,可以使用stackalloc关键字在堆栈上分配数组,这需要不安全的上下文,通常用于与本机 API 等的互操作性。

c# 中的数组是固定大小的(我假设动态是指动态调整大小(。要创建"动态"集合,可以使用List<T>.在后台,List<T>由一个数组支持,该数组随着列表的增长而重新分配和复制。

使用 new 运算符是因为它表示运行时正在为对象(在本例中为 Array 对象(分配空间。new 关键字用于任何不是编译时常量的东西(即 硬编码数字、布尔值或字符串(。

最新更新