Ako používať kde (Obmedzenie všeobecného typu)

Ako Pouzivat Kde Obmedzenie Vseobecneho Typu



Obmedzenia všeobecného typu v C# umožňujú vývojárom definovať množinu typov, ktoré môže reprezentovať parameter všeobecného typu. Táto funkcia umožňuje kompilátoru vynútiť bezpečnosť typu a predchádza chybám, ktoré by sa mohli vyskytnúť počas behu. Jedným z najpoužívanejších obmedzení je 'kde' obmedzenie, tento článok vysvetlí, čo 'kde' obmedzenie je v C# a ako ho použiť vo svojom kóde.

Čo je to obmedzenie „kde“.

The 'kde' obmedzenie je obmedzenie všeobecného typu v jazyku C#, ktoré umožňuje vývojárom špecifikovať parameter typu, ktorý môže všeobecný typ reprezentovať. Obmedzenie je špecifikované pomocou 'kde' kľúčové slovo, za ktorým nasleduje parameter typu a obmedzenie, syntax na použitie 'kde' obmedzenie je nasledovné:

verejná trieda Názov triedy < T > kde T : obmedzenie

{

// Implementácia triedy

}

Tu je 'Názov triedy' predstavuje názov triedy s parametrom generického typu 'T' . The 'kde' kľúčové slovo určuje obmedzenie pre parameter type a 'obmedzenie' je typ, ktorý musí reprezentovať parameter typu.







Zoberme si príklad generickej triedy, ktorá prijíma parameter typu a vracia minimálnu hodnotu z poľa hodnôt. Tu kód používa 'kde' obmedzenie na určenie, že parameter typu musí byť číselný typ:



pomocou systému ;

verejná trieda MinValue < T > kde T : štrukturovať , IPorovnateľné , Ikonvertibilné

{

verejné T GetMinValue ( T [ ] pole )

{

ak ( pole == nulový || pole. Dĺžka == 0 ) {

hodiť novú výnimku Argument ( 'Pole nemôže byť nulové alebo prázdne' ) ;

}

T min = pole [ 0 ] ;

pre ( int i = 1 ; i < pole. Dĺžka ; i ++ ) {

ak ( pole [ i ] . Porovnať s ( min ) < 0 ) {

min = pole [ i ] ;

}

}

vrátiť min ;

}

}

Program verejnej triedy

{

verejnosti statické neplatné Hlavná ( )

{

int [ ] intArray = { 1 , 2 , 3 , 4 , 5 } ;

MinValue < int > intMinValue = nová MinValue < int > ( ) ;

int intMin = intMinValue. GetMinValue ( intArray ) ;

Konzola. WriteLine ( 'Minimálna hodnota intArray: {0}' , intMin ) ;

dvojitý [ ] doubleArray = { 1.1 , 2.2 , 3.3 , 4.4 , 5.5 } ;

MinValue < dvojitý > doubleMinValue = nová MinValue < dvojitý > ( ) ;

dvojitý doubleMin = doubleMinValue. GetMinValue ( doubleArray ) ;

Konzola. WriteLine ( 'Minimálna hodnota doubleArray: {0}' , doubleMin ) ;

}

}

Tu sme definovali generickú triedu 'MinValue' ktorý akceptuje parameter typu 'T' a vráti minimálnu hodnotu z poľa hodnôt. Ďalej sme použili 'kde' obmedzenie špecifikovať, že parameter typu musí byť štruktúra, implementovať rozhranie IComparable a implementovať rozhranie IConvertible. Toto obmedzenie zaisťuje, že ako parametre typu sú povolené iba číselné typy.



  Tvar, obdĺžnik Popis automaticky vygenerovaný





Záver

The 'kde' obmedzenie v C# je výkonná funkcia, ktorá umožňuje vývojárom presadzovať bezpečnosť typu a predchádzať chybám počas behu. Pomocou tohto obmedzenia môžete určiť množinu typov, ktoré môže reprezentovať parameter všeobecného typu. Tento článok poskytol prehľad o 'kde' obmedzenie v C# a demonštroval, ako ho použiť s kódom.