回答
当然。
var temp = array[i];
array[i] = array[j];
array[j] = temp;
那么,它会交换,但问题是如此模糊,这听起来像是一个删除和插入会更好... – 2013-02-09 20:00:54
数组通常被认为是固定的大小。因此,交换对我来说似乎与移动数组中的项目一样近。 – 2013-02-09 20:02:30
当然你可以;
var array= new int[]{1, 2, 3};
foreach (var i in array)
{
Console.WriteLine (i);
}
array[1] = array[2];
foreach (var j in array)
{
Console.WriteLine (j);
}
结果会;
1 2 3
1 3 3
这是DEMO
。
但是,当然,这会应对从一个值到另一个值的价值。旧的索引值被移动到新的索引值。如果您想要使用更改值,可以使用temp
值,如Daniel's answer。
在C#中移动一个值与将橙色从冰箱移动到桌面上非常不同,因为当您将橙色从一个地方移动到另一个地方时,旧地方不再包含橙色。
将某个项目在阵列中,而另一方面,实质上是复制*的行为,所以你可以写这样的事情:
myArray[newIndex] = myArray[oldIndex];
现在从旧索引项被移到它的新索引。旧索引也包含该项目。如果你不希望发生这种情况,你需要通过用其他东西替换来明确地“移除”该物品。在参考对象的数组你null
替换:
myArray[oldIndex] = null;
在值对象的数组,你用你指定为“无”的一些特殊值取代它,或者用null
如果你的值对象为空。
*你复制的内容依赖于数组元素的类型:在值类型的数组,该项目本身被复制;在引用类型的数组中,引用被复制。继续橙色的比喻,当桔子是一个参考类型时,桔子数组是一个定义桔子数组中所有桔子位置的便利贴的列表。而不是将橘子移入阵列中,而是放置一张贴有“从右侧起第三个橘子”的便笺,并将桔子留在原位。复制参考对象只需复制其便笺。
+1只是为了您的努力和美丽的分析。 – 2013-02-09 20:16:39
拷贝简直是
array[Index+1] = array[Index]
交换是
var tmp = array[Index + 1];
array[Index+1] = arry[Index];
array[Index] = tmp;
移动也取决于你想替换以表明它现在是空的移动的项目,像
array[Index+1] = array[Index];
array[Index] = -1;
将阵列想象成堆垛托盘。事情可以在他们身上,你可以移动东西,但将东西放入一个抽屉或其他东西不会影响其他任何顺序。
而不是使用数组,你可以使用一个列表
List<int> myList = new List<int>();
myList.Add(1);
myList.Add(2);
myList.Add(3);
myList.Add(4);
myList.Add(5);
会给你1,2,3,4,5。
然后调用
int temp = myList[1];
myList.RemoveAt(1);
myList.Insert(3, temp);
会给你1,3,4,2,5
- 1. Redis:将数据从索引移动到另一个
- 2. 从另一个数组索引中获得数组值
- 3. GridView从一个索引到另一个索引
- 4. 访问另一个数组的一个数组的索引
- 5. 数组索引中的值不对应于另一个数组的索引
- 6. PHP分配一个数组的索引到另一个阵列
- 7. 将值从一个数组移动到另一个PHP
- 8. 将一个NSOrderedSet循环移位到另一个索引
- 9. 如何将nsarray对象从一个索引切换到另一个索引
- 10. 获取一个随机数组的索引,然后使用相同的索引来打印另一个数组
- 11. 向量化索引另一个数组的值数组
- 12. 使用另一个数组的索引值创建一个数组
- 13. Javascript:创建一个数组,其索引是另一个数组的值
- 14. 移动/移动数组中的对象,然后将第一个元素移动到最后一个索引
- 15. Lucene性能:将字段数据从一个索引传输到另一个索引
- 16. 索引一个索引数组的多维numpy数组
- 17. 如何将一个NSArray的两个不同索引中的对象存储到另一个NSArray的索引中
- 18. 一维数组中的多个索引
- 19. 只用一个索引检索多个数组的值
- 20. 如何将一个数组的值复制到另一个数组,其中第二个数组的索引等于第一个数组的值?
- 21. 从另一个数组中的索引获取数组的值:Matlab
- 22. 如何在另一个数组中使用数组的索引?
- 23. 如何从另一个数组索引到张量张量流
- 24. 从一个函数移动一个值到另一个
- 25. 从一个索引提取子字符串到另一个索引
- 26. 隔离列表中的两个索引并将其中一个索引与另一个索引进行求和?
- 27. 在赋值时不能索引到一个空数组?
- 28. 如何将数组中的项目移动到紧邻的下一个索引?
- 29. 转移第一个索引
- 30. 为一个静态铸造索引数组做一个数组
你尝试什么吗? – bas 2013-02-09 19:53:53