C# &引用;轮换;顺时针数组中的值
首先,感谢您抽出时间来看我的问题 我有一个字母的csv文件,我需要获取数组的最后一个字母,并将其移动到开头,同时“推”其他字母 例如 --来源-- a、 b,c,d[e] --旋转-- e、 a、b、c、dC# &引用;轮换;顺时针数组中的值,c#,arrays,loops,C#,Arrays,Loops,首先,感谢您抽出时间来看我的问题 我有一个字母的csv文件,我需要获取数组的最后一个字母,并将其移动到开头,同时“推”其他字母 例如 --来源-- a、 b,c,d[e] --旋转-- e、 a、b、c、d for (var i = 0; i < Array.Length - 1; i++) { temp = Array[Array.Length]; Array[Array.Le
for (var i = 0; i < Array.Length - 1; i++)
{
temp = Array[Array.Length];
Array[Array.Length] = Array[Array.Length - 1];
Array[i + 1] = Array[i];
Array[i] = temp;
}
for(var i=0;i
为此,我知道并不是所有字符都会受到影响,但我想不出一个循环来移动所有值您可以使用模
%
运算符将数字向右移动:
int[] arr = { 1, 2, 3, 4, 5 };
int[] newArr = new int[arr.Length];
for (int i = 0; i < arr.Length; i++)
{
newArr[(i + 1) % newArr.Length] = arr[i];
}
例如:
int[] arr = { 1, 2, 3, 4, 5 };
rightShiftArray(ref arr, 2);
上面的代码将初始数组arr
中的数字向右移动两次,并提供以下输出:
arr={4,5,1,2,3}强>
您可以使用模运算符将数字向右移位:
int[] arr = { 1, 2, 3, 4, 5 };
int[] newArr = new int[arr.Length];
for (int i = 0; i < arr.Length; i++)
{
newArr[(i + 1) % newArr.Length] = arr[i];
}
例如:
int[] arr = { 1, 2, 3, 4, 5 };
rightShiftArray(ref arr, 2);
上面的代码将初始数组arr
中的数字向右移动两次,并提供以下输出:
arr={4,5,1,2,3}强>
如果不想分配新阵列,可以使用以下代码:
newValue = Array[Array.Length-1];
for (var i = 0; i < Array.Length; i++)
{
temp = Array[i];
Array[i] = newValue;
newValue = temp;
}
newValue=Array[Array.Length-1];
for(var i=0;i
如果不想分配新阵列,可以使用以下代码:
newValue = Array[Array.Length-1];
for (var i = 0; i < Array.Length; i++)
{
temp = Array[i];
Array[i] = newValue;
newValue = temp;
}
newValue=Array[Array.Length-1];
for(var i=0;i
使用复制
方法:
int last = arr[arr.Length - 1];
Array.Copy(arr, 0, arr, 1, arr.Length - 1);
arr[0] = last;
使用
复制方法:
int last = arr[arr.Length - 1];
Array.Copy(arr, 0, arr, 1, arr.Length - 1);
arr[0] = last;
首先,索引Array.Length中没有元素。最后一个索引比这个小1。首先考虑逻辑——如果必须写下来——然后编写代码来实现该逻辑。首先,将最后一个元素放在临时位置。然后从最后一个元素到第一个元素,将每个元素移动到下一个索引。最后,将temp值移动到第一个元素中。所以,你的循环中有属于外部的代码,你的索引是错误的,你的循环是反向的。你为什么不使用列表,这将很容易解决第一件事,索引数组中没有元素。长度。最后一个索引比这个小1。首先考虑逻辑——如果必须写下来——然后编写代码来实现该逻辑。首先,将最后一个元素放在临时位置。然后从最后一个元素到第一个元素,将每个元素移动到下一个索引。最后,将temp值移动到第一个元素中。所以,你的循环中有属于外部的代码,你的索引是错误的,你的循环是反向的。你为什么不使用列表呢,这很容易解决