Hogyan kell használni hol (általános típusú megkötés)

Hogyan Kell Hasznalni Hol Altalanos Tipusu Megkotes



Az általános típuskorlátozások a C#-ban lehetővé teszik a fejlesztők számára, hogy meghatározzák az általános típusparaméter által képviselhető típuskészletet. Ez a funkció lehetővé teszi a fordító számára, hogy érvényesítse a típusbiztonságot, és megakadályozza a futás közben előforduló hibákat. Az egyik leggyakrabban használt megszorítás a 'ahol' korlátozás, ez a cikk elmagyarázza, mi a 'ahol' megszorítás a C#-ban van, és hogyan kell használni a kódban.

Mi a „hol” megkötés

A 'ahol' A megszorítás egy általános típuskényszer a C#-ban, amely lehetővé teszi a fejlesztők számára, hogy megadják azt a típusparamétert, amelyet egy általános típus képviselhet. A megszorítást a 'ahol' kulcsszó, majd a típus paraméter és a megszorítás, a használat szintaxisa 'ahol' a korlátozás a következő:

nyilvános osztály Osztálynév < T > ahol T : kényszer

{

// Osztály megvalósítás

}

Itt a 'Osztály név' az osztály nevét jelenti egy általános típusparaméterrel 'T' . A 'ahol' kulcsszó megadja a típus paraméter megszorítását, és a 'kényszer' az a típus, amelyet a type paraméternek képviselnie kell.







Vegyünk egy példát egy általános osztályra, amely elfogad egy típusparamétert, és a minimális értéket adja vissza egy értéktömbből. Itt a kód a 'ahol' megszorítás annak meghatározására, hogy a típusparaméternek numerikus típusúnak kell lennie:



rendszer segítségével ;

nyilvános osztály MinValue < T > ahol T : struct , Összehasonlítható , IKabrió

{

nyilvános T GetMinValue ( T [ ] sor )

{

ha ( sor == nulla || sor. Hossz == 0 ) {

dobj új ArgumentException ( 'A tömb nem lehet üres vagy üres' ) ;

}

T min = sor [ 0 ] ;

számára ( int én = 1 ; én < sor. Hossz ; én ++ ) {

ha ( sor [ én ] . Összehasonlítani ( min ) < 0 ) {

min = sor [ én ] ;

}

}

Visszatérés min ;

}

}

nyilvános osztály Program

{

nyilvános statikus üres ( )

{

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

MinValue < int > intMinValue = új MinValue < int > ( ) ;

int intMin = intMinValue. GetMinValue ( intArray ) ;

Konzol. WriteLine ( 'Az intArray minimális értéke: {0}' , intMin ) ;

kettős [ ] doubleArray = { 1.1 , 2.2 , 3.3 , 4.4 , 5.5 } ;

MinValue < kettős > doubleMinValue = új MinValue < kettős > ( ) ;

kettős doubleMin = doubleMinValue. GetMinValue ( doubleArray ) ;

Konzol. WriteLine ( 'A doubleArray minimális értéke: {0}' , doubleMin ) ;

}

}

Itt definiáltunk egy általános osztályt 'MinValue' amely elfogad egy típusparamétert 'T' és visszaadja a minimális értéket egy értéktömbből. Ezt követően a 'ahol' megszorítás annak megadásához, hogy a típusparaméternek structnak kell lennie, megvalósítani az IComparable interfészt és megvalósítani az IConvertible interfészt. Ez a megszorítás biztosítja, hogy csak numerikus típusok legyenek megengedettek típusparaméterként.



  Alak, téglalap Leírás automatikusan generálva





Következtetés

A 'ahol' A megszorítás a C#-ban egy hatékony funkció, amely lehetővé teszi a fejlesztők számára, hogy kényszerítsék ki a típusbiztonságot, és megakadályozzák a hibákat futás közben. Ezzel a megszorítással megadhatja, hogy egy általános típusparaméter milyen típusú típusokat képviselhet. Ez a cikk áttekintést adott a 'ahol' megszorítást a C#-ban, és bemutatta, hogyan kell kóddal használni.