Nonpacie
@Nonpacie

Как реверсировать строку с помощью метода расширения?

Нужно решить задачу на реверсирование массива целых чисел методом расширения, собственно почитал про эти методы и написал метод, который не выдаёт ошибок и варнингов, но и не работает, подскажите, в может быть проблема?

Program.cs
using System;

namespace Lab10
{
    internal static class Program
    {
        
        public static void Main(string[] args)
        {
            int[] array = new[] {1, 4, 5, 1, 3, 235, 634, 234, 12, 4, 3, 77, 141};
            array.PrintArray();

            array.ReverseArray();

            Console.WriteLine();
            foreach (var elem in array)
            {
                Console.Write($"{elem} _ ");
            }
        }
    }
}


Extension.cs
...
public static int[] ReverseArray(this int[] arr)
        {
            List<int> buffer = arr.ToList();
            buffer.Reverse();
            arr = buffer.ToArray();
            return arr;
        }
...
  • Вопрос задан
  • 61 просмотр
Решения вопроса 1
@Jewish_Cat
Увлекаюсь C#
for (int i = 0; i < arr.Length / 2; i++)
{
   int tmp = arr[i];
   arr[i] = arr[arr.Length - i - 1];
   arr[arr.Length - i - 1] = tmp;
}
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
BasiC2k
@BasiC2k
.NET developer (open to job offers)
Я так понимаю у Вас именно задание по учебе?

Если нет, то можно:
1. Перевести array в List через .ToList
2. Выполнить для List команду .Reverse
3. Перевести List обратно в array командой .ToArray
Три строчки кода.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы