Các chủ đề C# quan trọng

Phương thức mở rộng (extension method) trong C#

Trong bài học này, bạn sẽ thêm một phương thức mới cho kiểu string có sẵn mà không cần sửa đổi kiểu đó.

Giới thiệu

Phương thức mở rộng (extension method) cho phép bạn "thêm" phương thức vào một kiểu đã có, kể cả kiểu của .NET như string. Thực chất đây là một phương thức static, nhưng được gọi bằng cú pháp giống như phương thức của đối tượng, nên code dễ đọc và dễ tìm hơn.

Từ khóa this ở tham số đầu tiên của Truncate cho biết đây là phương thức mở rộng cho kiểu string. Nhờ vậy bạn có thể gọi "CodeUtility".Truncate(4) như thể Truncate là phương thức có sẵn của chuỗi. Phương thức này cắt chuỗi còn 4 ký tự và thêm dấu ba chấm, cho kết quả Code…. Kiểu string gốc hoàn toàn không bị thay đổi.

Ví dụ C# chạy được

C#
Chạy code →
Program.cs
using System;

static class StringExtensions
{
    public static string Truncate(this string value, int length)
        => value.Length <= length ? value : value[..length] + "…";
}

class Program
{
    static void Main() => Console.WriteLine("CodeUtility".Truncate(4));
}
Kết quả khi chạy
Code…

Luyện tập với trình gỡ lỗi

Đặt breakpoint ở một phép gán hoặc điều kiện quan trọng, bấm Debug và xem giá trị các biến cục bộ (local variable) trước khi bước sang dòng tiếp theo.

Luyện tập với thử thách

Áp dụng kiến thức của bài học này để giải một bài toán thực tế. Mỗi thử thách chạy ngay trên trình duyệt, có kiểm thử tức thì và AI nhận xét.

Tất cả thử thách