Τρόπος χρήσης όπου (Γενικός περιορισμός τύπου)

Tropos Chreses Opou Genikos Periorismos Typou



Οι περιορισμοί γενικού τύπου στη C# επιτρέπουν στους προγραμματιστές να ορίσουν το σύνολο των τύπων που μπορεί να αντιπροσωπεύει μια παράμετρος γενικού τύπου. Αυτή η δυνατότητα επιτρέπει στον μεταγλωττιστή να επιβάλλει την ασφάλεια τύπου και αποτρέπει σφάλματα που ενδέχεται να προκύψουν κατά τη διάρκεια του χρόνου εκτέλεσης. Ένας από τους πιο χρησιμοποιούμενους περιορισμούς είναι ο 'που' περιορισμού, αυτό το άρθρο θα εξηγήσει τι 'που' Ο περιορισμός είναι σε C# και πώς να τον χρησιμοποιήσετε στον κώδικά σας.

Τι είναι ο περιορισμός «πού».

ο 'που' Ο περιορισμός είναι ένας περιορισμός γενικού τύπου στη C# που επιτρέπει στους προγραμματιστές να καθορίσουν την παράμετρο τύπου που μπορεί να αντιπροσωπεύει ένας γενικός τύπος. Ο περιορισμός καθορίζεται χρησιμοποιώντας το 'που' λέξη-κλειδί ακολουθούμενη από την παράμετρο τύπου και τον περιορισμό, τη σύνταξη για τη χρήση του 'που' ο περιορισμός έχει ως εξής:

δημόσια τάξη Όνομα κλάσης < Τ > όπου ο Τ : περιορισμός

{

// Υλοποίηση τάξης

}

Εδώ το 'Ονομα τάξης' αντιπροσωπεύει το όνομα της κλάσης με μια παράμετρο γενικού τύπου «Τ» . ο 'που' λέξη-κλειδί καθορίζει τον περιορισμό για την παράμετρο τύπου και το 'περιορισμός' είναι ο τύπος που πρέπει να αντιπροσωπεύει η παράμετρος τύπου.







Ας πάρουμε ένα παράδειγμα μιας γενικής κλάσης που δέχεται μια παράμετρο τύπου και επιστρέφει την ελάχιστη τιμή από έναν πίνακα τιμών. Εδώ ο κώδικας χρησιμοποιεί το 'που' περιορισμός για τον καθορισμό ότι η παράμετρος τύπου πρέπει να είναι αριθμητικός τύπος:



χρησιμοποιώντας το Σύστημα ;

δημόσια κλάση MinValue < Τ > όπου ο Τ : struct , Συγκρίσιμο , ICconvertible

{

δημόσιο T GetMinValue ( Τ [ ] πίνακας )

{

αν ( πίνακας == μηδενικό || πίνακας. Μήκος == 0 ) {

ρίξτε νέο ArgumentException ( 'Ο πίνακας δεν μπορεί να είναι μηδενικός ή κενός' ) ;

}

T min = πίνακας [ 0 ] ;

Για ( ενθ Εγώ = 1 ; Εγώ < πίνακας. Μήκος ; Εγώ ++ ) {

αν ( πίνακας [ Εγώ ] . ΣύγκρισηΜε ( ελάχ ) < 0 ) {

ελάχ = πίνακας [ Εγώ ] ;

}

}

ΕΠΙΣΤΡΟΦΗ ελάχ ;

}

}

Πρόγραμμα δημόσιας τάξης

{

δημόσιο στατικός κενός Κύριος ( )

{

ενθ [ ] intArray = { 1 , 2 , 3 , 4 , 5 } ;

MinValue < ενθ > intMinValue = νέα MinValue < ενθ > ( ) ;

ενθ intMin = intMinValue. GetMinValue ( intArray ) ;

Κονσόλα. WriteLine ( 'Ελάχιστη τιμή intArray: {0}' , intMin ) ;

διπλό [ ] doubleArray = { 1.1 , 2.2 , 3.3 , 4.4 , 5.5 } ;

MinValue < διπλό > doubleMinValue = νέα MinValue < διπλό > ( ) ;

διπλό διπλόΕπ = doubleMinValue. GetMinValue ( doubleArray ) ;

Κονσόλα. WriteLine ( 'Ελάχιστη τιμή doubleArray: {0}' , διπλόΕπ ) ;

}

}

Εδώ, έχουμε ορίσει μια γενική κλάση “MinValue” που δέχεται μια παράμετρο τύπου «Τ» και επιστρέφει την ελάχιστη τιμή από έναν πίνακα τιμών. Στη συνέχεια, χρησιμοποιήσαμε το 'που' περιορισμός για να καθορίσετε ότι η παράμετρος τύπου πρέπει να είναι μια δομή, να εφαρμόσετε τη διεπαφή IComparable και να εφαρμόσετε τη διεπαφή IConvertible. Αυτός ο περιορισμός διασφαλίζει ότι επιτρέπονται μόνο αριθμητικοί τύποι ως παράμετροι τύπου.



  Σχήμα, ορθογώνιο Η περιγραφή δημιουργείται αυτόματα





συμπέρασμα

ο 'που' Ο περιορισμός στη C# είναι μια ισχυρή δυνατότητα που επιτρέπει στους προγραμματιστές να επιβάλλουν την ασφάλεια τύπου και να αποτρέπουν σφάλματα κατά τη διάρκεια του χρόνου εκτέλεσης. Χρησιμοποιώντας αυτόν τον περιορισμό, μπορείτε να καθορίσετε το σύνολο των τύπων που μπορεί να αντιπροσωπεύει μια παράμετρος γενικού τύπου. Αυτό το άρθρο παρέχει μια επισκόπηση του 'που' περιορισμό στη C# και έδειξε πώς να το χρησιμοποιήσετε με έναν κώδικα.