反转列表C#的特定部分

我需要一个程序来反转两个终端之间的部分列表。 示例:

列表:1、2、3、3、5、4 输出:1、2、3、3、4、5(仅将4和5取反)

我发现了:

                positionCrepe.Reverse(indexOfmaxToSearch,positionCrepe.Count);

但这不起作用,因为我有一个错误:

  

System.ArgumentException:此表的偏移量和长度超出范围,或者该数目大于源集合末尾的索引元素的数目。

但是

  

indexOfmaxToSearch = 2

  

positionCrepe.count = 5

因此它不超过表的索引

有人解决吗? 谢谢。

a178738667 回答:反转列表C#的特定部分

第二个参数是您要反转多少个元素,而不是列表中有多少个元素。

因此,如果要撤消从indexOfMaxToSearch开始的所有内容,则要撤消positionCrepe.Count - indexOfMaxToSearch元素:

positionCrepe.Reverse(indexOfMaxToSearch,positionCrepe.Count - indexOfMaxToSearch);

错误消息实际上是说第一个参数 plus 超出了数组的范围。

,

如果您查看反向的定义,

index:要反转的范围的从零开始的索引。
count:要反转的范围内的元素数。

您可以使用以下命令使其正常运行。计数必须小于剩余指标

positionCrepe.Reverse(2,positionCrepe.Count - 2);
本文链接:https://www.f2er.com/2947039.html

大家都在问