gpt4 book ai didi

C# 数组移动项(非 ArrayList/通用列表)

转载 作者:行者123 更新时间:2023-11-30 13:43:14 24 4
gpt4 key购买 nike

有一个对象,它是一个数组(不是 arraylist 或泛型),可以容纳一组任何东西......

[[One],[Two],[Three],[Four]]

想把 [Four] 移到 [Two] 前面,例如旧索引 = 3,新索引 = 1所以结果会是...

[[One],[Four][Two],[Three]]

在 .NET 2.0 中最有效的方法是什么,例如

PropertyInfo oPI = ObjectType.GetProperty("MyArray", BindingFlags.Public | BindingFlags.Instance);
object ObjectToReorder = oPI.GetValue(ParentObject, null);
Array arr = ObjectToReorder as Array;
int oldIndex = 3;
int newIndex = 1;
//Need the re-ordered list still attached to the ParentObject

提前致谢

最佳答案

void MoveWithinArray(Array array, int source, int dest)
{
Object temp = array.GetValue(source);
Array.Copy(array, dest, array, dest + 1, source - dest);
array.SetValue(temp, dest);
}

关于C# 数组移动项(非 ArrayList/通用列表),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/660585/

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