Come usare dove

Come usare dove
I vincoli di tipo generico in C# consentono agli sviluppatori di definire l'insieme di tipi che un parametro di tipo generico può rappresentare. Questa funzione consente al compilatore di far rispettare la sicurezza del tipo e impedisce gli errori che potrebbero verificarsi durante il runtime. Uno dei vincoli più utilizzati è il "Dove" vincolo, questo articolo spiegherà cosa "Dove" Il vincolo è in C# e come usarlo nel tuo codice.

Qual è il vincolo "dove"

IL "Dove" Il vincolo è un vincolo di tipo generico in C# che consente agli sviluppatori di specificare il parametro di tipo che un tipo generico può rappresentare. Il vincolo è specificato usando il "Dove" parola chiave seguita dal parametro tipo e dal vincolo, la sintassi per l'utilizzo del "Dove" Il vincolo è il seguente:

nome classe di classe pubblica dove t: vincolo

// Implementazione della classe

Qui il "Nome della classe" rappresenta il nome della classe con un parametro di tipo generico "T". IL "Dove" La parola chiave specifica il vincolo per il parametro di tipo e il "Vincolo" è il tipo che il parametro tipo deve rappresentare.

Facciamo un esempio di una classe generica che accetta un parametro di tipo e restituisce il valore minimo da un array di valori. Qui il codice utilizza il "Dove" vincolo per specificare che il parametro di tipo deve essere un tipo numerico:

usando il sistema;
Minvalue della classe pubblica dove t: struct, icomparable, iconvertible

pubblico t getminvalue (t [] array)

if (array == null || array.Lunghezza == 0)
lanciare nuovi argomenti ("L'array non può essere nullo o vuoto");

T min = array [0];
per (int i = 1; i < array.Length; i++)
if (array [i].Compateto (min) < 0)
min = array [i];


ritorno min;


Programma di classe pubblica

Public Static Void Main ()

int [] intarray = 1, 2, 3, 4, 5;
Minvalue IntMinValue = Nuovo Minvalue();
int intmin = intMinValue.Getminvalue (intarray);
Console.WriteLine ("Valore minimo di intarray: 0", intmin);
Double [] DoublearRay = 1.1, 2.2, 3.3, 4.4, 5.5;
Minvalue DoubleMeMoveLue = Nuovo Minvalue();
Double Doublein = DoubleMinValue.Getminvalue (Doublearray);
Console.WriteLine ("Valore minimo di DoublearRay: 0", Doublein);

Qui, abbiamo definito una classe generica "Minvalue" che accetta un parametro di tipo "T" e restituisce il valore minimo da un array di valori. Successivamente, abbiamo usato il "Dove" Vincolo per specificare che il parametro di tipo deve essere una struttura, implementare l'interfaccia ICOMPable e implementare l'interfaccia iconvertibile. Questo vincolo garantisce che solo tipi numerici siano consentiti come parametri di tipo.

Conclusione

IL "Dove" Il vincolo in C# è una caratteristica potente che consente agli sviluppatori di far rispettare la sicurezza del tipo e prevenire errori durante il runtime. Utilizzando questo vincolo, è possibile specificare l'insieme di tipi che un parametro di tipo generico può rappresentare. Questo articolo ha fornito una panoramica del "Dove" vincolo in c# e ha dimostrato come usarlo con un codice.