Những chủ đề tiến bộ trong C# - Delegate – Phần 2

Định nghĩa delegate như sau: delegate bool CompareOp(object lhs, object rhs); Và xây dựng phương thức sort() là : static public void Sort(object [] sortArray, CompareOp gtMethod) Phần hướng dẫn cho phương thức này sẽ nói rõ rằng gtmethod phải tham chiếu đến 1 phương thức static có 2 đối số,và trả về true nếu giá trị của đối số thứ 2 là 'lớn hơn' ( nghĩa là năm sau trong mảng) đối số thứ nhất. mặc dù ta có thể sử dụng delegate ở đây,nhưng cũng có thể giải quyết vấn đề bằng cách sử dụng interface. .NET. | Những chủ đề tiến bộ trong C Delegate - Phần 2 Định nghĩa delegate như sau delegate bool CompareOp object Ihs object rhs Và xây dựng phương thức sort là static public void Sort object sortArray CompareOp gtMethod Phần hướng dẫn cho phương thức này sẽ nói rõ rằng gtmethod phải tham chiếu đến 1 phương thức static có 2 đối số và trả về true nếu giá trị của đối số thứ 2 là lớn hơn nghĩa là năm sau trong mảng đối số thứ nhất. mặc dù ta có thể sử dụng delegate ở đây nhưng cũng có thể giải quyết vấn đề bằng cách sử dụng interface. .NET xây dựng 1 interface IComparer cho mục đích này. tuy nhiên ta sử dụng delegate vì loại vấn đề này thì thường có khuynh hướng dùng delegate. Sau đây là lớp bublesorter class BubbleSorter static public void Sort object sortArray CompareOp gtMethod for int i 0 i i for int j i 1 j j if gtMethod sortArray j sortArray i object temp sortArray i sortArray i sortArray j sortArray j temp Để dùng lớp này ta cần định nghĩa 1 số lớp khác mà có thể dùng thiết lập mảng cần sắp dụ công ty điện thoại có danh sách tên khách hàng và muốn sắp danh sách theo nhân viên trình bày bởi thể hiện của một lớp Employee class Employee private string name private decimal salary public Employee string name decimal salary name salary public override string ToString return name 0 C salary public static bool RhsIsGreater object lhs object rhs

Không thể tạo bản xem trước, hãy bấm tải xuống
TỪ KHÓA LIÊN QUAN
TÀI LIỆU MỚI ĐĂNG
Đã phát hiện trình chặn quảng cáo AdBlock
Trang web này phụ thuộc vào doanh thu từ số lần hiển thị quảng cáo để tồn tại. Vui lòng tắt trình chặn quảng cáo của bạn hoặc tạm dừng tính năng chặn quảng cáo cho trang web này.