Ukuthola inani eliphezulu ohlotsheni lokubala kuwumsebenzi ovamile ohlanganyelwa onjiniyela. Lokhu kuyadingeka ezimeni lapho udinga ukuqinisekisa okokufaka komsebenzisi noma uphathe izinsiza ezithile ngokusekelwe kunani le-enum. I-C# inikeza indlela eqondile yokufeza lokhu usebenzisa isigaba se-Enum kanye ne-LINQ encane.
Ake sihlole isisombululo esenza ukubuyisa inani eliphezulu lokubala kube lula njengophaya.
I-MyEnum yomphakathi
{
Inketho1 = 1,
Inketho2 = 2,
Inketho3 = 3
}
...
I-int yomphakathi GetMaxEnumValue()
{
buyisela i-Enum.GetValues(typeof(MyEnum)).Cast().Ubukhulu();
}
Lolu cezu olufushane lwekhodi lwenza wonke umsebenzi wokubuyisa inani eliphakeme kakhulu ku-enum. Kodwa isebenza kanjani?
Gxila Ngekhodi
I-`Enum.GetValues(typeof(MyEnum))` iyisiqephu sokuqala esibalulekile okufanele siqondwe. Le ndlela eyakhelwe ngaphakathi .NET ibuyisela I-Array equkethe amanani ama-constants ekubalweni okucacisiwe. Uhlobo lokubala ludluliswa njengepharamitha endleleni kusetshenziswa igama elingukhiye elithi `typeof`.
Uma sesinamalungu afanayo, sidinga ukuwaphonsa kuma-integer. Lokhu kwenziwa kusetshenziswa i-.Cast() indlela eyingxenye ye-LINQ (Umbuzo Odidiyelwe Wolimi). I-LINQ isethi yamasu nezindlela ku-.NET esivumela ukuthi sisebenze nedatha ngendlela enembile nevumelana nezimo.
Ngemva kokuphonsa amanani kuma-integers, ukuthola inani eliphezulu kulula njengokubiza indlela ethi .Max(), elinye ithuluzi elikhulu elinikezwe i-LINQ. Le ndlela ibuyisela inani eliphezulu eqoqweni lamanani e-int.
I-Leveraging Enum kanye ne-LINQ Libraries
Isigaba se-Enum siyingxenye Yendawo yamagama Yesistimu ku-.NET futhi inikeza izindlela ezimbalwa ezimile zokusebenza ngokubala. Yilabhulali yokuya lapho udinga ukwenza noma yimuphi umsebenzi ohlobene nezinhlobo ze-enum.
Ngakolunye uhlangothi, i-LINQ, ingxenye ye-System.Linq namespace, ingenye yezici ezinamandla kakhulu ze-C#. Ihlinzeka ngezindlela ezihlukahlukene zokuphatha amaqoqo ngempumelelo, njengokuthola amanani aphezulu, amancane, noma amaphakathi, ukuhlunga, nokuhlunga idatha.
Funda kabanzi