gpt4 book ai didi

c# - 如何将数组中的所有内容向上移动一个位置? C#

转载 作者:太空狗 更新时间:2023-10-30 00:47:50 25 4
gpt4 key购买 nike

我正在尝试制作一种方法,将数组中第一个和最后一个字符之间的每个字符向上移动一个位置。此外,倒数第一个字符必须“移动”到数组中的第二个位置 ([1])。简而言之,我希望“abcdef”成为“aebcdf”。这是我想出的:

                if (myArray.Length > 3)
{
char savechar = myArray[myArray.Length - 2];
for (int t = 1; t < (myArray.Length - 2); t++)
{
myArray[t++] = myArray[t];
}
myArray[1] = savechar;
}

这里的问题是,它只是将第二个字符移到末尾,而不是将所有字符都移到一个位置。 (我知道为什么会这样,我只是不知道如何解决这个问题)有人帮忙吗?

最佳答案

  1. 从末尾开始而不是从头开始,这样您就不会复制已经更改的字符。
  2. 我不认为你打算在你的循环中使用“++”。这会改变 t 的值并且不需要。

这是结果代码:

if (myArray.Length > 3)
{
char savechar = myArray[myArray.Length - 2];
for (int t = myArray.Length - 2; t > 1; t--)
{
myArray[t] = myArray[t-1];
}
myArray[1] = savechar;
}

关于c# - 如何将数组中的所有内容向上移动一个位置? C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54334445/

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