Típusú transzferek (Programming Guide c #), a Microsoft docs

Ebben a cikkben,

felsorolás típusú (más néven felsorolás) nyújt hatékony módja a készletet meghatározó nevű egész konstansokat, amelyeket hozzá lehet rendelni egy változó. Tegyük fel például, meg szeretné határozni a változó, amelynek értéke képviselje a nap a héten. Már csak heten egyfajta értékek is eltarthat egy változót. Meghatározni ezeket az értékeket lehet felsorolás típus, amelyet nyilvánított a kulcsszó enum.







Alapértelmezésben a alaptípus minden elem az átadása int. Megadhat egy másik egész típusú, egy vastagbél, amint azt az előző példában. A teljes lista a lehetséges típus, lásd. Lásd enum (referencia C #).

A teszt a bázikus számértékek működtetésével alap típusú, amint azt az alábbi példában.

A következő a használatának előnyei ENUM helyett numerikus típusú.

Ügyféloldali kód megadása egyértelműen, hogy mi érvényes értékek a változó.

A Visual Studio IntelliSense listáját jeleníti meg a meghatározott értékeket.

Ha nem adja meg értékeket az ezeket az elemeket a számlálóra listán, az érték automatikusan növelni 1. Az előző példában Days.Sunday beállítása 0, Days.Monday értéke 1, és így tovább. D. Amikor létrehoz egy új létesítmény a napokat. ez lesz az alapértelmezett érték Days.Sunday (0), de ez nyilvánvalóan nem rendel értéket. Amikor létrehoz egy bejegyzést, jelöljön ki a leglogikusabb alapértelmezett érték használható, és állítsa nullára. Ennek eredményeként minden transzferek, ha azok jönnek létre azok egyértelműen nem adja meg az értékét lesz az alapértelmezett érték.

Ha a változó típusú meetingDay Napok. lehetőség van (nélkül explicit konverzió) rendelni csak az egyik jelentése az Napok. És ha a nap az ülés megváltozik, akkor lehet rendelni egy új értéket Days változó meetingDay.







megjegyzés

MeetingDay változó, akkor adhatja tetszőleges egész szám. Például ez a vonal kód nem generál hibát: meetingDay = (napok) 42. De ez nem lehet megtenni, mert az implicit módon várható, hogy az átadás a változó által mért értékek egyike által meghatározott felsorolás. A hozzárendelése egy változó típusú felsorolás tetszőleges értéke hozzárendelve egy nagyobb a kockázata a hiba.

Enumerator elemek felsorolás típusa listában, akkor adhatja meg értékek, és akkor is használhatja számított értékek:

Típusú átutalások bit zászlók

Ezt fel lehet használni, hogy meghatározzuk az átvitel típusának zászlók a bit, miáltal egy példánya típusú felsorolás képes tárolni bármilyen kombinációja a meghatározott értékek a számlálóra listában. (Természetesen egyes kombinációkban nincs értelme, vagy nem megengedett, hogy a programkódot.)

Ahhoz, hogy hozzon létre egy transzfer kicsit zászlókat kell alkalmazni System.FlagsAttribute attribútumot, és határozza meg az értékeket, hogy azok is elvégezhető bites műveletre ÉS. OR. NOT és XOR. Az átadás a bit nevű konstans értéke nulla, ami azt jelenti: „flag nincs beállítva.” Ne rögzítse a flag értéke nulla, ha ez nem jelent „flag nincs beállítva.”

A következő példában, azonosítja egyéb változatai ezekben a napokban. Ez az úgynevezett Days2. Ott van Days2 Flags tulajdonság. és mindegyik érték van rendelve a következő erejét 2. Ez lehetővé teszi, hogy hozzon létre egy változót, amelynek értéke Days2 Days2.Tuesday és Days2.Thursday.

Beállítani a zászló átadása, használja a bitenkénti OR. amint az a következő példa:

Annak eldöntésére, hogy egy adott flag be van állítva, akkor a bitenkénti ÉS. amint az a következő példa:

További információ arról, hogy mit kell figyelembe venni, amikor meghatározzuk, hogy milyen típusú transzferek segítségével System.FlagsAttribute attribútumot. cm. cikk System.Enum.

Segítségével System.Enum módszerek fogadására és feldolgozására a felsorolás értékek

Minden transzfer olyan esetek típusú System.Enum. Nem lehet örökölni egy új osztályt System.Enum. de használható módszereit letölteni és módosítani adatok átadása példányt.

További információért lásd. System.Enum.

Ön is létrehozhat egy lista egy új módszert, hosszabbító módszerrel. További információért lásd. Hogyan. Létrehozva egy új módszert a felsorolás.




Kapcsolódó cikkek