将数组的第一个元素添加到同一数组中

本文关键字:数组 元素 第一个 添加 | 更新日期: 2023-09-27 18:35:26

我有一个对象数组。我需要将该数组的第一个元素添加到它的末尾,因此第一个和最后一个元素是相同的。我想出了这个,但我觉得有一个更好的解决方案。

points.Concat(new[] { points[0] }).ToArray()

完整上下文:

public static Vertex[] CreateLineStrip(Color color, params Vector2f[] points)
{
    return CreateVertices(color, points.Concat(new[] { points[0] }).ToArray());
}

CreateVertices将给定的点数组投影到顶点数组。

将数组的第一个元素添加到同一数组中

        public void MyMethod(params Contact[] contacts)
        {
            var list = new List<Contact>(contacts);
            list.Add(list[0]);
            // ... do your thing
        }

给定以下扩展方法,与您的注释内联,您可以添加一些语法糖

然而,除了一种闪亮的新扩展方法之外,这里没有任何真正的收获

public static class ArrayExtensions
{
   static public T[] Append<T>(this T[] array, T item)
   {
      return array.Concat(new[] { item }).ToArray();
   }
}
public static Vertex[] CreateLineStrip(Color color, params Vector2f[] points)
{
    return CreateVertices(color, points.Append(points[0]));
}