Добијање максималне вредности из типа набрајања је уобичајен задатак са којим се сусрећу програмери. Ово је потребно у сценаријима у којима треба да потврдите кориснички унос или да рукујете одређеним ресурсима на основу вредности енума. Ц# пружа једноставан начин да се то постигне коришћењем Енум класе и мало ЛИНК-а.
Хајде да истражимо решење које чини преузимање максималне вредности набрајања лаким као колач.
јавни енум МиЕнум
{
Опција 1 = 1,
Опција 2 = 2,
Опција 3 = 3
}
...
публиц инт ГетМакЕнумВалуе()
{
ретурн Енум.ГетВалуес(типеоф(МиЕнум)).Цаст().Мак();
}
Овај кратки део кода обавља сав посао преузимања највеће вредности у енум-у. Али како то функционише?
Дубоко зароните у код
`Енум.ГетВалуес(типеоф(МиЕнум))` је први критични део који треба разумети. Овај уграђени .НЕТ метод враћа низ који садржи вредности константи у наведеном набрајању. Тип набрајања се прослеђује као параметар методи помоћу кључне речи `типеоф`.
Једном када имамо низ, морамо га претворити у целе бројеве. Ово се ради помоћу .Цаст() метод који је део ЛИНК-а (Лангуаге Интегратед Куери). ЛИНК је скуп техника и метода у .НЕТ-у који нам омогућава да радимо са подацима на интуитивнији и флексибилнији начин.
Након претварања вредности у целе бројеве, добијање максималне вредности је једноставно као позивање методе .Мак(), још једног сјајног алата који обезбеђује ЛИНК. Овај метод враћа максималну вредност у колекцији инт вредности.
Коришћење Енум и ЛИНК библиотека
Класа Енум је део Систем именског простора у .НЕТ-у и обезбеђује неколико статичких метода за рад са набрајањима. То је библиотека када треба да извршите било коју операцију у вези са типовима енума.
С друге стране, ЛИНК, део именског простора Систем.Линк, једна је од најмоћнијих карактеристика Ц#. Пружа различите методе за ефикасно руковање збиркама, као што је добијање максималних, минималних или просечних вредности, сортирање и филтрирање података.
Опширније