Метод Ц# ТоДицтионари

Metod C Todictionari



Функција ТоДицтионари у Ц# је функција проширења ЛИНК која вам омогућава да трансформишете колекцију података у речник који нуди јасан и практичан начин за мапирање ентитета на различите кључеве и повезане вредности. Захтева два аргумента, два делегата или ламбда израза, један за избор кључа и додатни за избор вредности за сваки објекат у колекцији. У овом чланку ћемо користити неке примере Ц# кода да бисмо демонстрирали употребу функције ТоДицтионари.

Синтакса:

Хајде да разложимо и разумемо сваку компоненту која је обезбеђена у оквиру следеће синтаксе функције Ц# ТоДицтионари једну по једну:



вас дицт = збирка. ТоДицтионари ( кеиСелецтор , елементСелецтор ) ;
  • Кључна реч „вар“ је овде одбачена да би се дефинисала категорија типа резултујућег „дицт“ речника. У већини случајева, то је Речник<К, В> где је К тип кључа, а В категорија типа вредности речника.
  • Елемент „цоллецтион“ представља изворну колекцију коју желите да конвертујете у „дицт“ речник. То може бити било која класа која имплементира ИЕнумерабле<Т> интерфејс као што је листа, низ или резултат упита.
  • Кључна реч „кеиСелецтор” је делегатски или ламбда израз који одређује како да се издвоји кључ из сваке ставке у колекцији. Добија елемент из колекције као аргумент и враћа вредност кључа за ту ставку. Кључ треба да буде јединствен за сваку ставку у колекцији, пошто речници не могу имати дупликате кључева.
  • Кључна реч „елементСелецтор“ се односи на делегатски или ламбда израз који специфицира како да се издвоји вредност из сваке ставке у колекцији. Такође добија елемент колекције као аргумент и даје вредност за ту ставку.

Након извршавања функције ТоДицтионари, имаћете нови објекат речника где је свака ставка из колекције представљена као пар кључ-вредност.







Пример 1:

Почнимо изнова са овим водичем демонстрирајући употребу функције ТоДицтионари у Ц# уз помоћ примера кода. Идемо кроз то корак по корак.



Код почиње са потребним именским просторима који се увозе: Систем, Систем.Цоллецтионс.Генериц и Систем.Линк. Ови простори имена обезбеђују неопходне класе и методе проширења за рад са колекцијама и ЛИНК-ом. Дефинисана је класа „Думми“ која садржи „Маин“ метод овог Ц# програма.



Унутар методе „Маин“, креира се листа под називом „Л“. Ова листа садржи три елемента низа који представљају називе различитих парфема по избору корисника. Метода ТоДицтионари се позива на листи „Л“. Конвертује листу у речник. Сваки стринг елемент на листи служи и као кључ и као вредност у резултујућем речнику.





Речник је креиран са поређењем кључева без обзира на велика и мала слова помоћу параметра СтрингЦомпарер.ОрдиналИгнореЦасе који се првенствено користи за спецификацију поређења без обзира на велика и мала слова приликом провере постојања кључева. Наредба „иф“ проверава да ли речник садржи кључ „бомба“ док игнорише велика и мала слова. Ако се кључ пронађе, фрагмент кода у одељку „ако“ ће бити обрађен. Унутар блока „иф“, извршава се наредба Цонсоле.ВритеЛине(„Бомбсхелл екистс“) која штампа поруку „Бомбсхелл екистс“ на конзоли.

користећи Систем ;

користећи Систем. Збирке . Општи ;

користећи Систем. Линк ;

цласс Думми

{

статична празнина Главни ( )

{

Листа < низ > Л = нова листа < низ > ( ) { 'БлацкОпиум' , 'бомба' , 'ГуцциФлора' } ;

био Парфем = Л. ТоДицтионари ( Икс => Икс , Икс => истина , СтрингЦомпарер. ОрдиналИгнореЦасе ) ;

ако ( Парфем. ЦонтаинсКеи ( 'бомба' ) )

{

Конзола. ВритеЛине ( 'Бомба постоји' ) ;

}

}

}

Пошто је речник креиран са поређењем без обзира на велика и мала слова, кључ „бомбсхелл“ одговара стварном кључу „бомбсхелл“ у речнику. Као резултат, порука „Бомбсхелл постоји“ се штампа на конзоли као што је приказано на следећој приложеној излазној слици:



Пример 2:

У оквиру претходног примера кода, демонстрирали смо како се једноставна колекција може конвертовати у речник преко функције ТоДицтионари. Сада ћемо прећи на мало напредни пример кода Ц# за демонстрацију употребе функције Ц# ТоДицтионари. Хајде да разбијемо код ред по ред.

Овај илустрацијски исечак кода почиње уношењем истих обавезних именских простора: Систем, Систем.Цоллецтионс.Генериц и Систем.Линк. Ови простори имена обезбеђују потребне класе и методе проширења за рад са колекцијама и ЛИНК-ом за овај пример кода. Дефинисана је класа „Думми“ која је улазна тачка.

Унутар методе „Маин“ језика Ц# формира се листа под називом „Л“. Ова листа садржи три објекта класе „Дата“ која представља различите козметичке производе са њиховим ценама и брендовима. Сваки објекат података се иницијализује коришћењем синтаксе иницијализатора објекта. Својства „Цена” и „Бренд” сваког објекта су подешена са одређеним вредностима.

Овде долази метода ТоДицтионари. Овде се зове на листи „Л“. Конвертује листу у речник где се својство „Цена“ користи као кључ, а својство „Бренд“ се користи као вредност. Добијени речник се додељује променљивој „Диц“ као што је поменуто у следећем исечку кода. ”фореацх” петља се одбацује да би се позвали парови кључ/вредност у речнику “Диц”.

Унутар петље, кључу и вредности сваког пара се приступа коришћењем својстава „Кеи” и „Валуе” структуре КеиВалуеПаир<Кеи, Валуе>. Наредба функције Цонсоле.ВритеЛине штампа сваки пар кључ-вредност на конзоли. Излаз је форматиран коришћењем интерполације стрингова да би се одвојено приказале информације о цени и бренду.

Овде је класа „Подаци“ дефинисана са два својства: „Цена“ (цео број који представља цену козметичког производа) и „Бренд“ (низ који представља назив бренда производа).

користећи Систем ;

користећи Систем. Збирке . Општи ;

користећи Систем. Линк ;

цласс Думми

{

статична празнина Главни ( )

{

Листа < Подаци > Л = нова листа < Подаци > ( )

{

нови подаци { Цена = 13000 , Марка = 'Худа лепотица' } ,

нови подаци { Цена = 15000 , Марка = 'Шарлот Телбери' } ,

нови подаци { Цена = 11000 , Марка = 'Нарс' }

} ;

Речник < инт , низ > дец = Л. ТоДицтионари ( стр => стр. Цена , стр => стр. Марка ) ;

за сваки ( вар в у Диц )

{

Конзола. ВритеЛине ( $ „Цена: {в.Кеи}, Бренд: {в.Валуе}“ ) ;

}

}

}

класа Подаци

{

јавности инт Цена { добити ; комплет ; }

јавни стринг Бренд { добити ; комплет ; }

}

Када се код изврши, креира листу објеката података, конвертује листу у речник користећи методу ТоДицтионари, а затим приказује парове кључ-вредност речника користећи „фореацх“ петљу.

Излаз за овај пример кода је дат у наставку. Приказује цене и брендове козметичких производа који се чувају у речнику на основу специфичних својстава, пружајући згодан начин за организовање и приступ подацима у паровима кључ/вредност. Излаз претходног кода приказује три записа за речник:

Закључак

Овај водич за Ц# демонстрирао је употребу методе Ц# ТоДицтионари кроз неке основне и прецизне илустрације кода. Нудећи јасан и изражајан механизам за описивање парова кључ/вредност, метода ТоДицтионари олакшава претварање колекције у речник. То је снажан Ц# услужни програм за манипулацију и трансформацију података.