Заменить первые k элементов массива на те же элементы в обратном порядке

Замена происходит ровно до середины, после чего оставшиеся элементы массива просто переписываются, например замена первых 6 элементов массива 1,2,3,4,5,6,7,8,9,10 выглядит как 6,5,4,4,5,6,7,8,9,10 вместо 6,5,4,3,2,1,7,8,9,10. Сам массив задан в главном методе, решение задачи нужно оформить как отдельный метод.

static void Change(int[] list)
    {
        Console.WriteLine("Заменить первые k элементов массива на те же элементы в обратном порядке.");
        Console.WriteLine("Исходный массив:");
        foreach (int num in list)
        {
            Console.Write(num + " ");
        }
        Console.WriteLine("\nВведите k\n");
        int k = int.Parse(Console.ReadLine());
        for (int i = 0; i <= k ; i++)
        {
            list[i] = list[k - i];
        }
        foreach (int num in list)
        {
            Console.Write(num + " ");
        }
        
    }

Ответы (2 шт):

Автор решения: aepot
for (int i = 0; i < k / 2 ; i++)
{
    int x = list[i];
    list[i] = list[k - i - 1];
    list[k - i - 1] = x;
}
→ Ссылка
Автор решения: Qwertiy

https://ideone.com/QlAw2v

using System;

public class Test
{
  public static void Main()
  {
    int[] a = { 1, 2, 3, 4, 5, 6, 7, 8 };
    Array.Reverse(a, 0, 4);
    Console.WriteLine(String.Join(" ", a));
  }
}

https://dotnetfiddle.net/vd9m1B

using System;
                    
public class Program
{
  public static void Main()
  {
    int[] a = { 1, 2, 3, 4, 5, 6, 7, 8 };
    new Span<int>(a, 0, 4).Reverse();
    Console.WriteLine(String.Join(" ", a));
  }
}
4 3 2 1 5 6 7 8
→ Ссылка