C# Method Parameters

Giới thiệu về Parameters trong C#

Trong lập trình C#, Parameters (tham số) là các biến được định nghĩa trong phương thức (method), cho phép bạn truyền dữ liệu vào phương thức để thực hiện một số công việc trên dữ liệu đó. Việc sử dụng tham số giúp cho mã nguồn trở nên linh hoạt và tái sử dụng hơn, đồng thời giúp dễ dàng quản lý dữ liệu trong các phương thức.

Định nghĩa tham số trong C#

Tham số trong C# được định nghĩa bằng cách khai báo tên và kiểu dữ liệu của chúng trong phần định nghĩa phương thức. Cú pháp cơ bản như sau:

returnType MethodName(parameterType parameterName)
{
    // Thân phương thức
}

Trong đó:

  • returnType: Kiểu dữ liệu trả về của phương thức (có thể là void nếu phương thức không trả giá trị).
  • MethodName: Tên của phương thức.
  • parameterType: Kiểu dữ liệu của tham số (ví dụ: int, string, double, ...).
  • parameterName: Tên của tham số.

Các loại tham số

C# hỗ trợ một số loại tham số khác nhau:

1. Tham số mặc định (Optional Parameters)

Có thể gán giá trị mặc định cho tham số khi định nghĩa phương thức. Nếu không có giá trị nào được truyền vào khi gọi phương thức, giá trị mặc định sẽ được sử dụng.

public void Greet(string name = "Guest")
{
    Console.WriteLine($"Hello, {name}!");
}

2. Tham số tham chiếu (Reference Parameters)

Sử dụng từ khóa ref để cho phép phương thức thay đổi giá trị của biến được truyền vào.

public void UpdateValue(ref int value)
{
    value += 10;
}

3. Tham số đầu vào (Out Parameters)

Sử dụng từ khóa out để truyền giá trị từ phương thức ra ngoài. Tham số này phải được khởi tạo bên trong phương thức.

public void GetValues(out int x, out int y)
{
    x = 5;
    y = 10;
}

4. Tham số mảng (Params)

Cho phép truyền một hoặc nhiều tham số vào phương thức dưới dạng mảng. Sử dụng từ khóa params.

public void PrintNumbers(params int[] numbers)
{
    foreach (var number in numbers)
    {
        Console.WriteLine(number);
    }
}

Ví dụ minh hoạ

Dưới đây là một ví dụ hoàn chỉnh minh họa việc sử dụng các loại tham số trong C#:

class Program
{
    static void Main(string[] args)
    {
        // Ví dụ tham số mặc định
        Greet(); // Hello, Guest!
        Greet("Alice"); // Hello, Alice!

        // Ví dụ tham số tham chiếu
        int num = 5;
        UpdateValue(ref num);
        Console.WriteLine(num); // 15

        // Ví dụ tham số đầu vào
        GetValues(out int x, out int y);
        Console.WriteLine($"x = {x}, y = {y}"); // x = 5, y = 10

        // Ví dụ tham số mảng
        PrintNumbers(1, 2, 3, 4, 5); // In ra 1 2 3 4 5
    }

    public static void Greet(string name = "Guest")
    {
        Console.WriteLine($"Hello, {name}!");
    }

    public static void UpdateValue(ref int value)
    {
        value += 10;
    }

    public static void GetValues(out int x, out int y)
    {
        x = 5;
        y = 10;
    }

    public static void PrintNumbers(params int[] numbers)
    {
        foreach (var number in numbers)
        {
            Console.WriteLine(number);
        }
    }
}

Kết luận

Tham số trong C# là một phần quan trọng của lập trình hướng đối tượng, cho phép bạn tối ưu hóa việc truyền dữ liệu giữa các phương thức. Hiểu và sử dụng đúng loại tham số sẽ giúp bạn viết mã hiệu quả và dễ bảo trì hơn.