C# Enumeration

C Enumeration



Ang C# ay ang programming language na ginagamit upang bumuo ng mga programa, website, android application, laro, at marami pa. Sinusuportahan ng C# ang iba't ibang mga aklatan at balangkas na may mga built-in na function. Ang Enum ay isang enumeration, ito ay isang klase. Ang isang klase ay may iba't ibang uri ng data at pag-andar dito, isang istraktura ng data, na naglalaman ng iba't ibang mga variable dito. Ang enumerasyon ay partikular na kapaki-pakinabang kapag alam natin ang lahat ng mga variable sa oras ng pag-compile kung saan tinutukoy ng isang user ang mga uri ng data dito. Ang Enum ay naglalaman ng iba't ibang mga halaga at ang mga halagang iyon ay hindi mababago. Ang mga halaga ay maaaring makuha at magamit sa code ngunit hindi namin mababago ang mga halaga sa oras ng pagtakbo ang mga ito ay nababasa lamang at hindi nababago. Tinatrato ng enumeration ang lahat ng data sa loob nito bilang isang string, kung gusto naming gumamit ng integer value kailangan naming mag-type ng cast. Kapaki-pakinabang ang pag-enumeration dahil mas kaunting memory at espasyo ang ginagamit nila.

Syntax







enum E_Pangalan { Halaga_1, Halaga_2, Halaga_3,….. } ;


O kaya



enum E_Pangalan { Halaga_1 = 3. 4 , Halaga_2 = 90 , Halaga_3 = 8 ,….. } ;


Ang katangian 'enum' ay ang keyword upang tukuyin ang enumeration. Sa tuwing kailangan namin ng mga uri ng data na tinukoy ng gumagamit, ' enum' ginagamit ang keyword upang lumikha ng uri ng data na tinukoy ng gumagamit. Ang ' E_name' ay ang pangalan ng klase ng enum. Sa loob ng klaseng ito, ang mga kulot na braces ay maglalaman ng lahat ng mga parameter at halaga sa loob nito. Maaari lamang nating isulat ang mga argumento at ang compiler ay magtatalaga sa kanila ng mga halaga. Bilang default, simula sa unang halaga ay iniimbak sa index 0 at sa susunod sa 1 at iba pa.



Walang paghihigpit sa uri ng data ng mga argumento, maaari kaming magtalaga ng mga halaga ng integer, mga halaga ng floating point, mga character, Boolean, o string. Ngunit kung hindi namin itatalaga ang mga uri ng data sa mga halaga, awtomatiko itong magtatalaga sa kanila ng pare-parehong halaga kung saan sila nakaimbak.





Mga uri

Sa wikang C#, mayroong dalawang uri ng enumeration. Ang mga ito ay nakalista sa ibaba:

    • Simpleng enumeration
    • Enumeration ng bandila

Simple Enumeration

Sa kategoryang ito, ang mga miyembro ng klase ng 'enum' ay naglalaman ng isang halaga.



Flag Enumeration

Sa kategoryang ito, ang miyembro ng flag enum class ay naglalaman ng maraming value o maramihang value gamit ang bitwise operator o gamit ang OR (|).

Halimbawa 1:

Sa pagkakataong ito, matututunan natin kung paano natin magagamit ang simpleng klase ng 'enum' at kunin ang mga halaga nang hindi itinatalaga ang mga ito sa mga variable.


Para sa coding sa C# programming language, kailangan muna nating lumikha ng bagong proyekto at pagkatapos ay simulan ang coding. Kapag gusto nating gumawa ng console application, dapat nating piliin ang console application, C# framework, na awtomatikong magsusulat ng class at main() function. Upang magamit ang simpleng terminong 'enum' sa itaas sa code, tutukuyin at sisimulan namin ang panloob na klase na 'Programa'. Dahil ang enum ay ang keyword at ang susunod na salita pagkatapos ng enum ay 'fruit_names'. Sa loob ng mga kulot na braces, tinutukoy namin ang listahan na gusto namin. Dito, ang klase ng enum ay naglalaman ng apat na pangalan ng prutas. Tinatawag namin ang lahat ng mga function sa loob ng pangunahing() na pamamaraan. Sa loob ng static main(), isa-isa naming ipapakita ang lahat ng mga halaga ng enum. Sa code na ito, isinusulat lang namin ang mga argumento ng enum, hindi ang mga halaga. Kaya, awtomatiko itong magtatalaga sa kanila ng mga index kung saan sila nakaimbak bilang halaga.

Console.writeline() function ay ginagamit upang magsulat sa output screen at pagkatapos ipakita ang mensahe, inililipat nito ang cursor sa susunod na linya. Sa loob ng pahayag na ito, magsulat ng isang mensahe at pagdugtungin ito ng isang tanda na '+' upang ipakita ang tinukoy na mensahe na may halaga. Pagkatapos pagsama-samahin ang uri ng 'enum name' at gamitin ang (.) upang tugunan ang isang partikular na uri ng 'enum': fruit_names.Apple. Pagkatapos, sa susunod na pahayag, muling gamitin ang (+) sign upang pagsamahin ang uri sa mensahe at index kung saan ito nakaimbak. Upang makuha ang index, kailangan muna nating i-convert ito sa isang integer sa pamamagitan ng paggawa ng typecasting. Sa uri ng C#, ang paghahagis ay ginagawa sa pamamagitan lamang ng paggamit ng panaklong. Sa loob ng panaklong, isulat ang uri ng data kung saan gusto nating i-typecast. Sa labas ng panaklong, isulat ang variable na pangalan i.e. (int)var_name. Sa ganitong paraan, makukuha natin ang mensahe na may enum value at index kung saan ito iniimbak.

Ulitin ito ng tatlong beses; palitan lang ang message at enum type. Ginagawang maganda at malinis ng enumerasyon ang code. Ang function na Console.ReadKey() ay magpapanatiling aktibo sa console hanggang sa isara namin ito. Kung hindi namin gagamitin ang pahayag na ito, ang console ay kumukurap nang isang beses at pagkatapos ay mawawala ito.

Halimbawa 2:

Sa programang ito, ipapatupad namin ang simpleng klase ng 'enum' sa pamamagitan ng pagtatalaga ng iba't ibang mga halaga sa mga katangian ng klase.


Sa pangalawang halimbawa, muli kaming gumawa ng proyekto para sa console application at tinukoy ang isang enumeration sa loob ng internal class na 'Program' gamit ang keyword na 'enum'. Sa pagkakataong ito, naglalaman ito ng mga 'item' ng klase na may iba't ibang halaga. Sa loob ng main() function, maa-access namin ang lahat ng elemento ng 'item' ng klase ng enum. Gamitin natin ang console.writeLine() na paraan. Ipapakita nito ang lahat ng mayroon ito. Una, magpakita ng mensahe, pagkatapos ay tawagan muli ang Console.WriteLine() function upang ipakita ang unang item na may dami. Tukuyin ang isang text na gusto naming ipakita sa terminal at pagsamahin ito sa mga item.chairs. Makukuha nito ang unang item (mga upuan) ng enum class na 'item'. Upang makuha ang dami ng item na ito, kailangan nating mag-cast dahil ang data sa klase ng enum ay nasa anyo ng isang string. Kaya, upang ma-access ang kanilang mga halaga, una kaming nagta-type ng cast. Upang makuha ang halaga ng 'mga upuan', gawin ang pag-cast tulad ng (int)item.chairs. Kung hindi, makukuha lang natin ang item na 'chairs' hindi ang halaga nito. Dito, kung napansin natin, ang mga simbolo na '\n' at '\t' ay ginagamit. Sa pamamagitan ng paggamit ng '\t', nagbibigay kami ng puwang sa tab at sa pamamagitan ng paggamit ng '\n' ililipat namin ang cursor sa susunod na linya. Ulitin ang pamamaraang ito nang dalawang beses. Kailangan lang nating i-update ang mga halaga ng enum. Sa huli, isulat lang ang console.ReadKey() para panatilihing aktibo ang console para makita natin ang output.

Halimbawa 3:

Gagamitin natin ang 'flag' enum sa sitwasyong ito.


Sa simpleng enumeration, maaari lang tayong magtalaga ng isang value sa miyembro ng enum class. Ngunit sa enumeration ng bandila, maaari tayong magtalaga ng higit sa isang halaga sa isang miyembro ng klase ng enum. Ang ganitong uri ng enumeration ay nakakatulong kapag nakikitungo tayo sa iba't ibang mga pagpipilian at kapag mayroon tayong higit sa isang halaga. Upang magamit ang enumeration ng bandila, bago tukuyin ang isang enum class, kailangan nating isulat ang [flags] at pagkatapos ay isulat ang enum class na 'flag_example'. Ngayon, sa loob ng klase na ito, madali tayong makapagtalaga ng higit sa isang halaga sa isang miyembro. Sa halimbawang ito, nagtalaga kami ng dalawang value sa attribute na 'driver' at pinaghiwalay ang parehong value sa pamamagitan ng paggamit ng (|) operator. Pagkatapos, sa main() function ay nagdeklara ng variable na 'var flags'. Upang magpakita ng higit sa isang item sa console, gamitin o (|) operator at pagkatapos ay tawagan ang mga enum item na may pangalan ng klase at pangalan ng item. Upang magpakita ng mensahe, gamitin ang paraan ng Console.WriteLine(). Para katawanin ang value ng flag, isulat ang ‘flag’ sa isa pang Console.Write(). Sa susunod na pahayag ay tinatawag ang Console.ReadKey() function na magpapanatiling bukas sa console hanggang sa isara natin ito.

Konklusyon

Sa gabay na ito, natutunan namin ang tungkol sa enumeration, kung ano ito at kung paano namin ito magagamit sa C# na wika. Ginagawang simple at nababasa ng enumerasyon ang code. Dahil ang mga halaga sa klase ng enum ay hindi mababago. Nagbibigay ito sa amin ng mga benepisyo kapag nakikitungo kami sa ganitong uri ng data na hindi nangangailangan ng pagbabago ng mga halaga. Napag-usapan natin ang syntax at mga uri ng enumeration sa tulong ng iba't ibang code. Ang enumerasyon ay tumatagal ng mas kaunting memorya at madaling gamitin.