Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C#

Chương trình C# đảo ngược mảng (Array.Reverse)

Lớp Array cung cấp phương thức tĩnh Reverse() để đảo ngược thứ tự phần tử mảng trực tiếp (in-place).

Mã nguồn

using System;

class Demo {
    static void Main() {
        int[] arr = { 15, 16, 17, 18 };
        
        Console.WriteLine("Mảng gốc:");
        foreach (int i in arr) Console.WriteLine(i);
        
        // Đảo ngược mảng (thay đổi mảng gốc)
        Array.Reverse(arr);
        
        Console.WriteLine("Mảng sau khi đảo:");
        foreach (int j in arr) Console.WriteLine(j);
        Console.ReadLine();
    }
}

Kết quả

Mảng gốc:
15
16
17
18
Mảng sau khi đảo:
18
17
16
15

Các overload hữu ích

// Đảo ngược toàn bộ mảng
Array.Reverse(arr);

// Đảo ngược đoạn con: từ index 1, dài 3 phần tử
Array.Reverse(arr, 1, 3);

Lưu ý

  • Array.Reverse sửa đổi mảng gốc — không trả về mảng mới.
  • Để giữ mảng gốc, hãy sao chép trước: var copy = (int[])arr.Clone(); Array.Reverse(copy);
  • LINQ: var reversed = arr.Reverse().ToArray(); (trả về mảng mới, không sửa gốc).
  • Hoạt động với mọi kiểu mảng: string[], object[], custom struct...

So sánh

Phương phápSửa mảng gốc?Trả về mảng mới?Hiệu năng
Array.Reverse(arr)CóKhôngNhanh nhất (O(n), in-place)
arr.Reverse().ToArray() (LINQ)KhôngCóChậm hơn (cấp phát mới)
Vòng lặp for thủ côngTùy codeTùy codeTương đương Array.Reverse