Ukufumana elona xabiso liphezulu kuhlobo lobalo ngumsebenzi oqhelekileyo odibana nabaphuhlisi. Oku kuyafuneka kwiimeko apho kufuneka uqinisekise igalelo lomsebenzisi okanye uphathe izixhobo ezithile ngokusekelwe kwixabiso le-enum. C # ibonelela ngendlela ethe ngqo yokuphumeza oku usebenzisa iklasi ye-Enum kunye nentwana ye-LINQ.
Masiphonononge isisombululo esenza ukubuyisa elona xabiso liphezulu lobalo kube lula njengepayi.
enum yoluntu iMyEnum
{
Ukhetho1 = 1,
Ukhetho2 = 2,
Ukhetho3 = 3
}
...
int kawonkewonke GetMaxEnumValue()
{
buyisela i-Enum.GetValues(uhlobo lwe(MyEnum)).Cast().Ubukhulu ();
}
Le nxalenye imfutshane yekhowudi yenza wonke umsebenzi wokubuyisela ixabiso eliphezulu kwi-enum. Kodwa isebenza njani?
Ngena nzulu kwiKhowudi
I `Enum.GetValues(typeof(MyEnum))` liqhekeza lokuqala elibaluleke kakhulu ukuqondwa. Le ndlela eyakhelwe-ngaphakathi .NET ibuyisela iArray equlathe amaxabiso ezinto ezizinzileyo kubalo olukhankanyiweyo. Uhlobo lobalo lugqithiswa njengeparamitha kwindlela kusetyenziswa `uhlobo lwegama elingundoqo.
Sakuba sinoluhlu, kufuneka siyijule ibe ziinombolo ezipheleleyo. Oku kwenziwa ngokusebenzisa i .Cast() indlela eyinxalenye ye-LINQ (uMbuzo oDityanisiweyo woLwimi). I-LINQ yiseti yeendlela kunye neendlela kwi-NET evumela ukuba sisebenze ngedatha ngendlela enembile kwaye eguquguqukayo.
Emva kokuphosa amaxabiso kwii-integers, ukufumana elona xabiso liphezulu kulula njengokufowunela .Max() indlela, esinye isixhobo esikhulu esinikezwe yiLINQ. Le ndlela ibuyisela ixabiso eliphezulu kwingqokelela yamaxabiso e-int.
I-Leveraging Enum kunye ne-LINQ amathala eencwadi
Udidi lwe-Enum yinxalenye yeSixokelelwano sesithuba samagama kwi.NET kwaye ibonelela ngeendlela ezininzi ezingatshintshiyo zokusebenza ngamanani. Kukuhamba-kwithala leencwadi xa ufuna ukwenza nawuphi na umsebenzi onxulumene neentlobo ze-enum.
Kwelinye icala, i-LINQ, inxalenye ye-System.Linq namespace, yenye yezinto ezinamandla kakhulu ze-C#. Ibonelela ngeendlela ezahlukeneyo zokuphatha ingqokelela ngokufanelekileyo, njengokufumana owona mgangatho uphezulu, ubuncinci, okanye amaxabiso aphakathi, ukuhlela, kunye nokucoca idatha.
Funda Okuninzi