Kuinka käyttää missä (yleinen tyyppirajoitus)

Kuinka Kayttaa Missa Yleinen Tyyppirajoitus



C#:n yleisten tyyppirajoitusten avulla kehittäjät voivat määritellä joukon tyyppejä, joita yleinen tyyppiparametri voi edustaa. Tämän ominaisuuden avulla kääntäjä voi valvoa tyyppiturvallisuutta ja estää ajon aikana mahdollisesti ilmenevät virheet. Yksi eniten käytetyistä rajoituksista on 'missä' rajoitus, tämä artikkeli selittää, mitä 'missä' rajoitus on C#:ssa ja kuinka sitä käytetään koodissasi.

Mikä on 'missä' -rajoitus

The 'missä' rajoite on C#:n yleinen tyyppirajoitus, jonka avulla kehittäjät voivat määrittää tyyppiparametrin, jota yleinen tyyppi voi edustaa. Rajoitus määritetään käyttämällä 'missä' avainsana, jota seuraa tyyppiparametri ja rajoitus, syntaksi 'missä' rajoitus on seuraava:

julkinen luokka ClassName < T > missä T : rajoite

{

// Luokan toteutus

}

Tässä 'Luokan nimi' edustaa luokan nimeä yleisellä tyyppiparametrilla 'T' . The 'missä' avainsana määrittää rajoitteen tyyppiparametrille ja 'rajoite' on tyyppi, jota tyyppiparametrin tulee edustaa.







Otetaan esimerkki yleisestä luokasta, joka hyväksyy tyyppiparametrin ja palauttaa vähimmäisarvon arvojoukosta. Tässä koodi käyttää 'missä' rajoite määrittää, että tyyppiparametrin on oltava numeerinen tyyppi:



järjestelmän avulla ;

julkinen luokka MinValue < T > missä T : struct , Vertailukelpoinen , ICvertible

{

julkinen T GetMinValue ( T [ ] joukko )

{

jos ( joukko == tyhjä || joukko. Pituus == 0 ) {

heittää uusi ArgumentException ( 'Matriisi ei voi olla tyhjä tai tyhjä' ) ;

}

T min = joukko [ 0 ] ;

varten ( int i = 1 ; i < joukko. Pituus ; i ++ ) {

jos ( joukko [ i ] . Vertaa ( min ) < 0 ) {

min = joukko [ i ] ;

}

}

palata min ;

}

}

julkisen luokan ohjelma

{

julkinen staattinen mitätön Main ( )

{

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

MinValue < int > intMinValue = uusi MinValue < int > ( ) ;

int intMin = intMinValue. GetMinValue ( intArray ) ;

Konsoli. WriteLine ( 'IntArrayn vähimmäisarvo: {0}' , intMin ) ;

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

MinValue < kaksinkertainen > doubleMinValue = uusi MinValue < kaksinkertainen > ( ) ;

kaksinkertainen doubleMin = doubleMinValue. GetMinValue ( doubleArray ) ;

Konsoli. WriteLine ( 'doubleArray:n vähimmäisarvo: {0}' , doubleMin ) ;

}

}

Tässä olemme määrittäneet yleisen luokan 'Miniarvo' joka hyväksyy tyyppiparametrin 'T' ja palauttaa vähimmäisarvon arvojoukosta. Seuraavaksi olemme käyttäneet 'missä' rajoite määrittää, että tyyppiparametrin on oltava struct, toteuttaa IComparable-liitäntä ja toteuttaa IConvertible-liitäntä. Tämä rajoitus varmistaa, että vain numeeriset tyypit ovat sallittuja tyyppiparametreina.



  Muoto, suorakulmio Kuvaus luotu automaattisesti





Johtopäätös

The 'missä' C#:n rajoitus on tehokas ominaisuus, jonka avulla kehittäjät voivat valvoa tyyppiturvallisuutta ja estää virheet ajon aikana. Käyttämällä tätä rajoitusta voit määrittää joukon tyyppejä, joita yleinen tyyppiparametri voi edustaa. Tämä artikkeli on antanut yleiskatsauksen 'missä' rajoitus C#:ssa ja osoitti kuinka sitä käytetään koodin kanssa.