Како користити где (генеричко ограничење типа)

Kako Koristiti Gde Genericko Ogranicene Tipa



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

Шта је ограничење „где“.

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

јавна класа Име класе < Т > где је Т : ограничење

{

// Имплементација класе

}

Ево 'Назив класе' представља име класе са параметром генеричког типа 'Т' . Тхе 'где' кључна реч специфицира ограничење за параметар типа, а 'ограничење' је тип који параметар типа мора да представља.







Узмимо пример генеричке класе која прихвата параметар типа и враћа минималну вредност из низа вредности. Овде код користи 'где' ограничење да се наведе да параметар типа мора бити нумерички тип:



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

јавна класа МинВалуе < Т > где је Т : струцт , ИЦомпарабле , ИЦонвертибле

{

публиц Т ГетМинВалуе ( Т [ ] низ )

{

ако ( низ == нула || низ. Дужина == 0 ) {

избаци нови изузетак Аргумент ( 'Низ не може бити нулл или празан' ) ;

}

Т мин = низ [ 0 ] ;

за ( инт и = 1 ; и < низ. Дужина ; и ++ ) {

ако ( низ [ и ] . У поређењу са ( мин ) < 0 ) {

мин = низ [ и ] ;

}

}

повратак мин ;

}

}

Програм јавног часа

{

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

{

инт [ ] интАрраи = { 1 , 2 , 3 , 4 , 5 } ;

МинВалуе < инт > интМинВалуе = нова МинВалуе < инт > ( ) ;

инт интМин = интМинВалуе. ГетМинВалуе ( интАрраи ) ;

Конзола. ВритеЛине ( „Минимална вредност интАрраи: {0}“ , интМин ) ;

дупло [ ] доублеАрраи = { 1.1 , 2.2 , 3.3 , 4.4 , 5.5 } ;

МинВалуе < дупло > доублеМинВалуе = нова МинВалуе < дупло > ( ) ;

дупло доублеМин = доублеМинВалуе. ГетМинВалуе ( доублеАрраи ) ;

Конзола. ВритеЛине ( „Минимална вредност доублеАрраи: {0}“ , доублеМин ) ;

}

}

Овде смо дефинисали генеричку класу „Минимална вредност“ који прихвата параметар типа 'Т' и враћа минималну вредност из низа вредности. Затим смо користили 'где' ограничење да се наведе да параметар типа мора бити структура, имплементирати интерфејс ИЦомпарабле и имплементирати интерфејс ИЦонвертибле. Ово ограничење осигурава да су само нумерички типови дозвољени као параметри типа.



  Облик, правоугаоник Опис се аутоматски генерише





Закључак

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