c# - 可以在C#中调整数组的大小吗
问题描述
出于好奇,来自 C 背景,我知道 Array 无法调整大小。
但是,虽然我在 C# 中看到,但像下面这样很容易做到
var arr = new int[] {1,2,4,6};
arr = new int[2];
另外,还有一种方法
Array.Resize(ref arr, 10);
这怎么可能?
谢谢!
解决方案
这些操作不会调整数组的大小。他们正在创建一个新大小的新数组。
请注意,在第一个示例中,您调用new
了两次。所以你正在创建两个数组。
在第二个示例中,文档解释了相同的内容:
此方法分配一个指定大小的新数组,将元素从旧数组复制到新数组,然后用新数组替换旧数组。
推荐阅读
- java - 如果使用 LinkedList add 方法修改了底层列表,是否修改了 iterator.next?
- c# - C# WebApi 授权来自依赖注入类和实体框架的访问函数
- amazon-web-services - IdentityPoolRoleAttachment 资源无法更新
- html - 移动设备上的 Zendesk 表单在打开/关闭时更改了我的网站 html 内容和 css
- apache-spark - 如何根据链式条件过滤 Spark DataFrame?
- d3.js - 使 x 轴和刻度在 d3 中消失
- python - Django (TypeError): __init__() 得到了一个意外的关键字参数“widget”
- python-3.x - subprocess.Popen ssh 隧道启动第二个进程,该进程需要使用 pin 回答提示
- javascript - 实现闭包和函数的自调用
- java - 在eclipse java中组织导入