Τι είναι το Dynamic Type στο C#

Ti Einai To Dynamic Type Sto C



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

Τι είναι η δυναμική πληκτρολόγηση

Η δυναμική πληκτρολόγηση επιτρέπει την αντιστοίχιση διαφορετικών τύπων τιμών στην ίδια μεταβλητή κατά τη διάρκεια του χρόνου εκτέλεσης. Σε αντίθεση με τη στατική πληκτρολόγηση, όπου ο τύπος της μεταβλητής καθορίζεται κατά το χρόνο μεταγλώττισης και παραμένει σταθερός, η δυναμική πληκτρολόγηση προσφέρει ευελιξία προσδιορίζοντας τον τύπο κατά το χρόνο εκτέλεσης με βάση την εκχωρημένη τιμή. Καταργεί τον έλεγχο τύπου μεταγλώττισης αναβάλλοντάς τον στο χρόνο εκτέλεσης.

Στη δυναμική πληκτρολόγηση, ο έλεγχος τύπου δεν εκτελείται από τον μεταγλωττιστή κατά τη μεταγλώττιση. Αντίθετα, ο τύπος της μεταβλητής καθορίζεται κατά το χρόνο εκτέλεσης με βάση την εκχωρημένη τιμή. Αυτό επιτρέπει την καθυστερημένη σύνδεση, όπου οι κλήσεις μεθόδων και η πρόσβαση μελών επιλύονται δυναμικά με βάση τον πραγματικό τύπο του αντικειμένου.







Πώς να χρησιμοποιήσετε το Dynamic Type στο C#

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



δυναμική myVariable = 'Γειά σου Κόσμε!' ;

Σε αυτό το παράδειγμα, η myVariable δηλώνεται ως δυναμική μεταβλητή και της εκχωρείται η τιμή 'Hello, World!'. Κατά το χρόνο εκτέλεσης, ο τύπος του myVariable θα καθοριστεί ως συμβολοσειρά.



Παράδειγμα χρήσης δυναμικού τύπου σε C#

Αυτός ο κώδικας δείχνει τη χρήση της δυναμικής λέξης-κλειδιού στο C#:





χρησιμοποιώντας το Σύστημα ;
Πρόγραμμα δημόσιας τάξης
{
δημόσιο στατικός κενός Κύριος ( )
{
δυναμική myDynamicVariable = 42 ;
Κονσόλα. WriteLine ( 'Τιμή: {0}, Τύπος: {1}' , myDynamicVariable , myDynamicVariable. GetType ( ) ) ;

myDynamicVariable = 'Γειά σου Κόσμε!' ;
Κονσόλα. WriteLine ( 'Τιμή: {0}, Τύπος: {1}' , myDynamicVariable , myDynamicVariable. GetType ( ) ) ;

myDynamicVariable = ψευδής ;
Κονσόλα. WriteLine ( 'Τιμή: {0}, Τύπος: {1}' , myDynamicVariable , myDynamicVariable. GetType ( ) ) ;

myDynamicVariable = Ημερομηνία ώρα. Τώρα ;
Κονσόλα. WriteLine ( 'Τιμή: {0}, Τύπος: {1}' , myDynamicVariable , myDynamicVariable. GetType ( ) ) ;

MyCustomFunction ( myDynamicVariable ) ;
}

δημόσιο στατικός κενός MyCustomFunction ( δυναμικά δεδομένα )
{
Κονσόλα. WriteLine ( 'Έξοδος προσαρμοσμένης λειτουργίας: {0}' , δεδομένα ) ;
}
}

Η δυναμική λέξη-κλειδί επιτρέπει σε μια μεταβλητή να πληκτρολογηθεί δυναμικά, που σημαίνει ότι ο τύπος της μπορεί να αλλάξει κατά το χρόνο εκτέλεσης. Στον κώδικα, μια μεταβλητή με όνομα myDynamicVariable δηλώνεται ως δυναμικό και αρχικά εκχωρείται μια ακέραια τιμή 42. Στη συνέχεια εκτυπώνεται μαζί με τον τύπο του χρησιμοποιώντας το Console.WriteLine.

Στη συνέχεια, στο myDynamicVariable εκχωρείται μια τιμή συμβολοσειράς ('Hello World!') και εκτυπώνεται ξανά με τον τύπο του. Η ίδια διαδικασία επαναλαμβάνεται για μια Boolean τιμή και τέλος για την τρέχουσα ημερομηνία και ώρα που ελήφθησαν χρησιμοποιώντας το DateTime.Now.



Ο κώδικας περιλαμβάνει επίσης μια MyCustomFunction που λαμβάνει δεδομένα δυναμικών παραμέτρων και τα εκτυπώνει. Η συνάρτηση myDynamicVariable ονομάζεται όρισμα, αποδεικνύοντας ότι οι δυναμικές μεταβλητές μπορούν να μεταβιβαστούν σε συναρτήσεις και ο τύπος τους μπορεί να προσδιοριστεί κατά το χρόνο εκτέλεσης.

συμπέρασμα

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