c# - 我能保证非引用方法不会改变数组大小 C#

标签 c# arrays

另见:

这两个问题的不同之处在于它们询问的是如何更改大小,对此我很清楚答案是:“不要...使用列表”。他们还引用了基于引用的 Array.Resize(ref array, int size)

我的问题是:

考虑到我有一个单一的遗留代码库,我不可能检查全部,也不能保证它做了什么,...如果我有调用方法传递一个非按- ref数组,能不能保证之后的数组大小不变。

Array.Resize 不是问题,因为 by-ref-ness 必须一直向上传递通过调用堆栈,而这显然不是。

但是还有其他可能的问题吗?

注意不要重复

我认为这是一个不同于其他问题的问题,因为这是一个“这可能吗?”的问题。而不是“我将如何做/最好的方法是什么”。因此,那些在后者中未提及的邪恶和错误的答案仍然与我的问题相关。

最佳答案

can I be guaranteed that the size of the array afterwards is unchanged.

是的,因为数组从不改变大小。曾经。 Array.Resize 创建一个 数组并复制数据;它确实实际调整任何东西的大小。如果您有对旧数组的引用,那么:您没问题并且大小不变。

关于c# - 我能保证非引用方法不会改变数组大小 C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40788361/

相关文章:

python - Python 3.4 中的类对象数组

C#:反射实例化对象会引发转换错误?

javascript - 如何知道哪个域使用 JS 向我的 C# 操作发送请求

c# - 在 DCOM 配置中找不到 Microsoft Word 文档

c++ - 有没有办法编写一个循环来遍历 char* 数组中的每个字符?

java - 如何在反序列化后初始化我的对象数组

c# - 如何将 C# double[] 传递给需要常量 double* pArr 的 C++ 函数? C++, C#

c# - 带有受限泛型参数的奇怪方法重载解析 : overload with base class arg always called

c++ - 用对象填充作为参数传递的数组

java - hackerrank 数组中的异或