【发布时间】:2019-02-25 17:41:31
【问题描述】:
想象一下我有一个这样的数组{7, 2, 8, 9, 4, 13, 7, 1, 9, 10}
我想要这个数组{9, 17, 17, 8, 19}。
原始列表中的第一对被折叠成 9 (7 + 2),第二对被折叠成 17 (8 + 9),依此类推。
我的问题是如何在 C# 中调整初始数组的大小?
我不想使用初始数组一半大小的另一个数组,我不能使用 List。
【问题讨论】:
-
使用通用的
List并且不用担心重新调整硬编码数组的大小? -
请注意,OP 提到他们不能使用 List。 @mobikaoxox 有什么理由不这样做吗?这部分作业是否只涉及数组?
-
您遇到了问题的哪一部分:1)求和对,2)折叠集合?您是否在文档中查找了可用的 Array 方法?你试过什么?
-
当您的限制阻止您使用完美的解决方案(在本例中为
List)时,您需要解释原因。 -
唯一且真正的解决方案是自定义类,带有数组 this[int] 访问器实现和接口 IList
、ICollection ,可能带有 WeakReference 和 IDisposable 项容器实现