首页 > 解决方案 > 可以在C#中调整数组的大小吗

问题描述

出于好奇,来自 C 背景,我知道 Array 无法调整大小。

但是,虽然我在 C# 中看到,但像下面这样很容易做到

var arr = new int[] {1,2,4,6};
arr = new int[2];

另外,还有一种方法

Array.Resize(ref arr, 10);

这怎么可能?

谢谢!

标签: c#arrays

解决方案


这些操作不会调整数组的大小。他们正在创建一个新大小的新数组。

请注意,在第一个示例中,您调用new了两次。所以你正在创建两个数组。

在第二个示例中,文档解释了相同的内容:

此方法分配一个指定大小的新数组,将元素从旧数组复制到新数组,然后用新数组替换旧数组。


推荐阅读