gpt4 book ai didi

c# - 在 C# 中使用 ConcurrentStack 时出现奇怪的异常

转载 作者:太空狗 更新时间:2023-10-29 19:26:35 25 4
gpt4 key购买 nike

我有这段 C# 代码,它抛出一个 ArgumentOutOfRangeException,我想知道为什么?

    ConcurrentStack<int> intsStack = new ConcurrentStack<int>();
int[] myInts = new int[0];
intsStack.PushRange(myInts);

ArgumentOutOfRangeException 错误的 Message 属性:

The startIndex argument must be greater than or equal to zero.

Parameter name: startIndex

数组为空但不是null,没想到有任何异常,只是什么都没有加入到栈中。这是一个合理的异常(exception)吗?

最佳答案

从实现的角度来看,如果您查看 PushRange(T[], int, int) overload 的定义,这是合理的:

ArgumentOutOfRangeException: startIndex or count is negative. Or startIndex is greater than or equal to the length of items.

数组的长度为零。因此,startIndex 可能没有有效值。

从文档的角度来看,这是不合理的,因为 PushRange(T[]) overload 的文档没有提到 ArgumentOutOfRangeException

关于c# - 在 C# 中使用 ConcurrentStack 时出现奇怪的异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7487097/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com