- Από προεπιλογή, η πρώτη τιμή της απαρίθμησης είναι 0, η οποία μπορεί να εκχωρηθεί ρητά στην απαρίθμηση.
- Μπορείτε να ορίσετε τον βασικό τύπο της απαρίθμησης, όπως απαρίθμηση E : short {}, sizeof(E) == 2; int από προεπιλογή.
- Απαριθμημένη αλυσίδα κληρονομικότητας: ValueType->Enum->enum
- Η μετατροπή μεταξύ του τύπου απαρίθμησης και του βασικού τύπου είναι ρητή, εκτός από το 0, επειδή υπάρχει μια έμμεση μετατροπή από το 0 σε οποιονδήποτε τύπο απαρίθμησης.
- Το ToString() της απαρίθμησης εξάγει το αναγνωριστικό της τιμής απαρίθμησής του,
- Από τη συμβολοσειρά στην απαρίθμηση: AEnumType a = (AEnumType) Enum.Parse(typeof(AEnumType), "flag"); μπορεί να αποτύχει και ο κώδικας θα πρέπει να περιλαμβάνει μηχανισμούς χειρισμού εξαιρέσεων.
- Μπορείτε να χρησιμοποιήσετε το Enum.IsDefined() για να ελέγξετε εάν μια τιμή περιλαμβάνεται σε μια απαρίθμηση.
αν (! Enum.IsDefined(τύπος(SearchMode), επιλογές)) ρίξε νέο ArgumentException(Properties.Resources.InvalidEnumerationValue, "επιλογές");
Το SearchMode είναι ένας τύπος απαρίθμησης, εάν η τιμή των επιλογών διέλευσης δεν εμπίπτει στο πεδίο εφαρμογής αυτού του ορισμού απαρίθμησης,Για παράδειγμα, εάν μια απαρίθμηση ορίζει 1,2 και οι επιλογές είναι από 3 casts, τότε η μέθοδος IsDefined επιστρέφει false.
|