当前位置 : 主页 > 手机开发 > 无线 >

如何将所有内容移动到阵列中的一个位置? C#

来源:互联网 收集:自由互联 发布时间:2021-06-10
我正在尝试创建一个方法,将数组中第一个和最后一个字符之间的每个字符移动一个点.此外,第一个到最后一个字符必须“移动”到数组中的第二个点([1]).简而言之,我希望’abcdef’成为’
我正在尝试创建一个方法,将数组中第一个和最后一个字符之间的每个字符移动一个点.此外,第一个到最后一个字符必须“移动”到数组中的第二个点([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;
            }

问题在于,它只是将第二个字符移动到最后,而不是将所有字符移动到一个位置. (我知道为什么会这样,我只是不知道如何解决这个问题)
有人帮忙吗?

>从结束开始而不是从开始开始,这样就不会复制已经更改过的字符.
>我认为您不打算在循环中使用“”.这会改变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;
}
网友评论