Hvordan bruke hvor

Hvordan bruke hvor
Begrensninger av generiske type i C# lar utviklere definere settet med typer som en parameter for generisk type kan representere. Denne funksjonen gjør at kompilatoren kan håndheve sikkerhet og forhindrer feil som kan oppstå under kjøretid. En av de mest brukte begrensningene er "hvor" Begrensning, denne artikkelen vil forklare hva "hvor" Begrensning er i C# og hvordan du bruker den i koden din.

Hva er "hvor" -begrensningen

De "hvor" Begrensning er en begrensning av generisk type i C# som lar utviklere spesifisere typeparameteren som en generisk type kan representere. Begrensningen er spesifisert ved hjelp av "hvor" nøkkelord etterfulgt av typeparameteren og begrensningen, syntaks for bruk av "hvor" Begrensning er som følger:

Offentlig klasse klassenavn Hvor T: Begrensning

// Klasseimplementering

Her "Klassenavn" representerer navnet på klassen med en generisk type parameter “T”. De "hvor" nøkkelord spesifiserer begrensningen for typeparameteren, og "begrensning" er den typen som typeparameteren må representere.

La oss ta et eksempel på en generisk klasse som godtar en typeparameter og returnerer minimumsverdien fra en rekke verdier. Her bruker koden "hvor" Begrensning for å spesifisere at typeparameteren må være en numerisk type:

ved hjelp av system;
Offentlig klasse MinValue hvor t: struct, icomparable, iconvertible

public t getMinValue (t [] Array)

if (array == null || matrise.Lengde == 0)
Kast ny ArgumentException ("Array kan ikke være null eller tom");

T min = matrise [0];
for (int i = 1; i < array.Length; i++)
if (matrise [i].Sammenligning (min) < 0)
min = matrise [i];


return min;


Public Class Program

Offentlig statisk tomrom Main ()

int [] intarray = 1, 2, 3, 4, 5;
Minvalue intMInValue = Ny minvalue();
int intMin = intMinValue.GetMinValue (Intarray);
Konsoll.WritLine ("Minimumsverdi for intarray: 0", intmin);
dobbel [] doubleArray = 1.1, 2.2, 3.3, 4.4, 5.5;
Minvalue doubleBleinValue = new MinValue();
dobbelt doublemin = doubleminvalue.GetMinValue (DouBleArray);
Konsoll.WritLine ("Minimumsverdi på DouBleArray: 0", Doublemin);

Her har vi definert en generisk klasse “Minvalue” som godtar en typeparameter “T” og returnerer minimumsverdien fra en rekke verdier. Deretter har vi brukt "hvor" Begrensning for å spesifisere at typeparameteren må være en struktur, implementere det icomparable grensesnittet og implementere det ikonverterbare grensesnittet. Denne begrensningen sikrer at bare numeriske typer er tillatt som typeparametere.

Konklusjon

De "hvor" Begrensning i C# er en kraftig funksjon som lar utviklere håndheve sikkerhet og forhindre feil under kjøretid. Ved å bruke denne begrensningen, kan du spesifisere settet med typer som en parameter for generisk type kan representere. Denne artikkelen har gitt en oversikt over "hvor" Begrensning i C# og demonstrerte hvordan du bruker den med en kode.