Enumerarea (enumerare) - Aceasta determină numărul întreg de tip utilizator. Când declara o enumerare care specifică un set de valori valide care pot avea copii de transferuri. Dar nu numai - aceste valori au fost încă să fie numit și ușor de înțeles pentru utilizatori. Dacă undeva în codul pentru a încerca să atribuie o instanță a valorii enumerare nu este inclusă în lista validă, compilatorul va genera o eroare.
Determinarea transferului poate, pe termen lung, a salva o mulțime de timp și de a scăpa de dureri de cap. Există cel puțin trei avantaje evidente ale transferurilor în loc de numere întregi simpli:
După cum sa menționat, întreținerea codului transferul mai ușor, asigurându-se că variabila va fi atribuită numai legitim, valorile așteptate.
Transferurile face codul mai clar, permițând mânerul la valori întregi, numindu-le nume semnificative în loc de numere de neînțeles „magice“.
Enumerările facilita sursa de intrare. Când aveți de gând să atribuie o valoare la o instanță a unui tip enumerat, mediul integrat Visual Studio folosind IntelliSense înseamnă afișează o listă pop-up de valori valide, care salvează câteva apăsări de taste și amintesc posibila alegerea valorilor.
unde numele - este numele unui tip de enumerare și spisok_perechisleniya - o listă de identificatori, separați prin virgulă.
Trebuie subliniat faptul că fiecare simbolic constantă notat în lista are o valoare întreagă. Cu toate acestea, conversiile implicite enumerate tipul de tipuri întregi încorporate și înapoi în C # nu sunt definite, și, prin urmare, în astfel de cazuri necesită o distribuție explicită. Mai mult decât atât, turnate necesară atunci când conversia două tipuri enumerate. Dar, din moment ce valorile de enumerare sunt numere întregi, ele pot, de exemplu, să fie utilizat pentru a controla comutatorul de selecție de către operatorul sau operatorul unei buclă.
Pentru fiecare ulterioare simbolic notat în constantele de enumerare dat valoare întreagă care este unul mai mare decât constanta anterioară. Valoarea implicită a primului simbolizează constantele din lista este zero.
Să ne uităm la un exemplu de utilizare a transferurilor:
Valoarea unuia sau mai multor desemnate simbolic în constantele de enumerare pot fi stabilite de către initializatorul. Este suficient pentru a indica după notație simbolică constantă separată semnul egal și de un număr întreg. Fiecare set constant ulterior la o valoare care este una mai mare decât constantele anterioare inițializată. In exemplul de mai sus este inițializată SHORTNAME constant.
În mod implicit, baza este selectată de tip int pentru enumerările enumerare cu toate acestea, pot fi create orice tip integral, cu excepția char. Pentru a specifica un alt tip diferit de int, suficient pentru a pune acest tip după numele de enumerare, separându-l cu două puncte.
Transferurile sunt utilizate pe scară foarte largă în toate bibliotecile din clasa de bază .NET. De exemplu, o enumerare pluralitate ADO.NET este utilizată pentru a indica starea conexiunilor bazei de date (de exemplu, deschise sau închise), iar bara de stare DataTable (de exemplu, acesta este modificat, noul sau deconectat). Prin urmare, în cazul oricăror transferuri ar trebui să fie întotdeauna conștienți de prezența oportunități de a interacționa cu perechi de „nume / valoare“ pentru a le cu ajutorul membrilor System.Enum.