Cách sử dụng where (Ràng buộc loại chung)

Cach Su Dung Where Rang Buoc Loai Chung



Các ràng buộc kiểu chung trong C# cho phép các nhà phát triển xác định tập hợp các kiểu mà một tham số kiểu chung có thể đại diện. Tính năng này cho phép trình biên dịch thực thi an toàn kiểu và ngăn các lỗi có thể xảy ra trong thời gian chạy. Một trong những ràng buộc được sử dụng nhiều nhất là 'Ở đâu' hạn chế, bài viết này sẽ giải thích những gì 'Ở đâu' ràng buộc trong C# và cách sử dụng nó trong mã của bạn.

Ràng buộc “ở đâu” là gì

Các 'Ở đâu' ràng buộc là một ràng buộc loại chung trong C# cho phép các nhà phát triển chỉ định tham số loại mà một loại chung có thể đại diện. Ràng buộc được chỉ định bằng cách sử dụng 'Ở đâu' từ khóa theo sau là tham số kiểu và ràng buộc, cú pháp sử dụng 'Ở đâu' ràng buộc như sau:

lớp công khai Tên lớp < t > nơi T : hạn chế

{

// Triển khai lớp

}

đây 'Tên lớp' đại diện cho tên của lớp với tham số loại chung “T” . Các 'Ở đâu' từ khóa chỉ định ràng buộc cho tham số loại và 'hạn chế' là loại mà tham số loại phải đại diện.







Hãy lấy một ví dụ về một lớp chung chấp nhận một tham số kiểu và trả về giá trị nhỏ nhất từ ​​một mảng các giá trị. Ở đây mã sử dụng 'Ở đâu' ràng buộc để chỉ định rằng tham số kiểu phải là kiểu số:



sử dụng Hệ thống ;

lớp công khai MinValue < t > nơi T : cấu trúc , Có thể so sánh , iConvertible

{

công khai T GetMinValue ( t [ ] mảng )

{

nếu như ( mảng == vô giá trị || mảng. Chiều dài == 0 ) {

ném ArgumentException mới ( 'Mảng không thể rỗng hoặc rỗng' ) ;

}

T phút = mảng [ 0 ] ;

( int Tôi = 1 ; Tôi < mảng. Chiều dài ; Tôi ++ ) {

nếu như ( mảng [ Tôi ] . So với ( tối thiểu ) < 0 ) {

tối thiểu = mảng [ Tôi ] ;

}

}

trở lại tối thiểu ;

}

}

chương trình lớp công cộng

{

công cộng tĩnh khoảng trống Chủ yếu ( )

{

int [ ] intArray = { 1 , 2 , 3 , 4 , 5 } ;

Giá trị tối thiểu < int > intMinValue = Giá trị tối thiểu mới < int > ( ) ;

int intMin = intMinValue. GetMinValue ( intArray ) ;

Bảng điều khiển. ViếtDòng ( 'Giá trị tối thiểu của intArray: {0}' , intMin ) ;

gấp đôi [ ] gấp đôiArray = { 1.1 , 2.2 , 3.3 , 4.4 , 5,5 } ;

Giá trị tối thiểu < gấp đôi > gấp đôiMinValue = Giá trị tối thiểu mới < gấp đôi > ( ) ;

gấp đôi gấp đôiMin = doubleMinValue. GetMinValue ( gấp đôiArray ) ;

Bảng điều khiển. ViếtDòng ( 'Giá trị tối thiểu của doubleArray: {0}' , gấp đôiMin ) ;

}

}

Ở đây, chúng tôi đã định nghĩa một lớp chung “Giá trị tối thiểu” chấp nhận một tham số loại “T” và trả về giá trị nhỏ nhất từ ​​một mảng giá trị. Tiếp theo, chúng tôi đã sử dụng 'Ở đâu' ràng buộc để chỉ định rằng tham số loại phải là một cấu trúc, triển khai giao diện IComparable và triển khai giao diện IConvertible. Ràng buộc này đảm bảo rằng chỉ các kiểu số mới được phép làm tham số kiểu.



  Hình dạng, hình chữ nhật Mô tả được tạo tự động





Phần kết luận

Các 'Ở đâu' ràng buộc trong C# là một tính năng mạnh mẽ cho phép các nhà phát triển thực thi an toàn kiểu và ngăn ngừa lỗi trong thời gian chạy. Bằng cách sử dụng ràng buộc này, bạn có thể chỉ định tập hợp các loại mà tham số loại chung có thể đại diện. Bài viết này đã cung cấp một cái nhìn tổng quan về 'Ở đâu' ràng buộc trong C# và trình bày cách sử dụng nó với mã.