Menu
CoddyTech

Phương thức mảng

Thuộc phần Kiến thức nền tảng trong hành trình C# của Coddy. Bài học 58 trên 69.

Mảng có nhiều phương thức (method). Để gọi một phương thức, hãy viết:

Array.MethodName(arrayName, otherParameters)

Các phương thức mảng phổ biến:

Clear(array, index, length) - xóa các phần tử của mảng, đặt một dãy phần tử thành 0, false hoặc null:

int[] numbers = {1, 2, 3, 4, 5};
Array.Clear(numbers, 1, 3);
// numbers sẽ là {1, 0, 0, 0, 5}

Reverse(array) - đảo ngược thứ tự các phần tử trong mảng (array):

int[] numbers = {1, 2, 3, 4, 5};
Array.Reverse(numbers);
// numbers sẽ là {5, 4, 3, 2, 1}

Sort(array) - sắp xếp các phần tử trong mảng theo thứ tự tăng dần:

int[] numbers = {5, 2, 9, 1, 5, 6};
Array.Sort(numbers);
// numbers sẽ là {1, 2, 5, 5, 6, 9}

Copy(sourceArray, sourceIndex, destinationArray, destinationIndex, length) - sao chép một dải phần tử từ mảng này sang mảng khác:

int[] source = {1, 2, 3, 4, 5};
int[] destination = new int[5];
Array.Copy(source, 0, destination, 0, 5);
// destination sẽ là {1, 2, 3, 4, 5}

Ví dụ với các vị trí khác nhau:

int[] source = {1, 2, 3, 4, 5};
int[] destination = new int[7];
Array.Copy(source, 1, destination, 2, 3);
// destination sẽ là {0, 0, 2, 3, 4, 0, 0}
// Sao chép các phần tử (elements) 2, 3, 4 từ source, bắt đầu tại chỉ số (index) 1
// Đặt chúng vào destination, bắt đầu tại chỉ số 2
challenge icon

Thử thách

Dễ

Tạo một phương thức tên là Merge nhận hai mảng làm đối số. Phương thức này gộp hai mảng thành một mảng đã sắp xếp rồi trả về mảng đó.

Ví dụ, các đối số sau: Merge(new string[] {"1", "4", "2"}, new string[] {"2", "5", "9"}) sẽ trả về ["1", "2", "2", "4", "5", "9"]

Dùng Array.Copy() để sao chép các phần tử từ mảng này sang mảng khác. Cú pháp là: 

Array.Copy(sourceArray, sourceStartPosition, destinationArray, destinationStartPosition, length)

Ví dụ:

// Source array
string[] sourceArray = {"1", "2", "3", "4", "5"};

// Destination array
string[] destinationArray = new string[5];

// Copy elements from sourceArray to destinationArray
Array.Copy(sourceArray, 0, destinationArray, 0, 5);

Mảng đích sau khi sao chép: 1 2 3 4 5

Tự làm thử

using System;


public class Program {
    public static string[] Merge(string[] arr1, string[] arr2) {
        string[] result = new string[arr1.Length + arr2.Length];
        // Sao chép arr1 và arr2 vào result, rồi sắp xếp result

        return result;
    }

    public static void Main(string[] args) {
        string textArr1 = Console.ReadLine();
        string textArr2 = Console.ReadLine();
        string[] arr1 = textArr1.Split(",");
        string[] arr2 = textArr2.Split(",");

        string[] mergedArray = Merge(arr1, arr2);
        Console.WriteLine(string.Join(", ", mergedArray));
    }
}
quiz iconTự kiểm tra

Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.

Tất cả bài học trong Kiến thức nền tảng

Tự luyện tập: Trình biên dịch C# online