gpt4 book ai didi

c# - 反转对象数组

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

我有一个包含对象数组的静态类。

public static Waypoint[] AtoB
{
get
{
return new Waypoint[] {
new Waypoint(49.251f,-851.837f),
new Waypoint(66.7397f,-843.165f),
new Waypoint(77.8777f,-825.462f)
};
}
}

现在我想创建另一个名为 BtoA 的 Waypoint 数组,它与 AtoB 相同但顺序相反。所以像这样:

public static Waypoint[] BtoA
{
get { return AtoB.Reverse(); }
}

这可能吗?

最佳答案

您可以使用 ToArray() 将反向序列保存到新数组中分机电话:

return AtoB.Reverse().ToArray();

在这种情况下,您将在内存中有两个数组 - 您将获得由 AtoB 返回的数组属性,然后您将为该数组创建反向迭代器,最后您将反向序列保存到全新的数组。

或者您可以使用 Array.Reverse(array) 反转原始数组:

var array = AtoB;
Array.Reverse(array);
return array;

在这种情况下,您将拥有在 AtoB 中创建的单个数组属性 - 您只需反转该数组实例的项目。

注意:您的代码无法正常工作,因为 Reverse()扩展创建 ReverseIterator这不是一个数组——它的类型是 IEnumerable<Waypoint> .因此,您的另一种选择是更改 BtoA 的类型属性(property)IEnumerable<Waypoint> .

关于c# - 反转对象数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21251300/

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