我正在尝试创建一个方法,将数组中第一个和最后一个字符之间的每个字符移动一个点.此外,第一个到最后一个字符必须“移动”到数组中的第二个点([1]).简而言之,我希望’abcdef’成为’
这就是我想出的:
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; }