gpt4 book ai didi

c# - int 数组的反向方法

转载 作者:行者123 更新时间:2023-11-30 22:50:58 25 4
gpt4 key购买 nike

我把这个作为主要内容

int[] M ={ 10, 2, 30, 4, 50, 6, 7, 80 };

MyMath.Reverse(M);

for (int i = 0; i < M.Length; i++)

Console.WriteLine(M[i].ToString() + ", ");

在我创建了 MyMath 类之后,我创建了 Reverse 方法

public int Reverse(Array M)
{
int len = M.Length;
for (int i = 0; i < len / 2; i++)
{
int temp = M[i]; M[i] = M[len - i - 1]; M[len - i - 1] = temp;

}
}

但我确定这是错误的,因为它不起作用 :-) 那么您是否有不同的代码可以用反向方法编写?

注意:我不想在 Array 类中使​​用内置的 Reverse


是的,伙计们,当我使用内置的反向方法时,我得到了这个错误

进程因 StackOverflowException 而终止。

那是我把方法写成

public static int Reverse(Array M)
{
return Reverse(M);
}

然后我尝试创建自己的反向方法,但我卡住了

最佳答案

从你的工作

public static int Reverse(Array M)
{
return Reverse(M);
}

你有两个问题。

  1. Reverse(M) 看起来与您所在的函数相同,因此您正在调用新函数,该函数会调用自身、调用自身等,从而导致堆栈溢出。更改为 return Array.Reverse(M);
  2. Array.Reverse 返回一个 void,因此如果您需要返回一个 int(不确定它应该在此处),您需要提供自己的.或者将您的 Reverse 函数更改为void

关于c# - int 数组的反向方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/279065/

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