Wie man wo benutzt

Wie man wo benutzt
Generische Typenbeschränkungen in C# ermöglichen es Entwicklern, die Menge von Typen zu definieren, die ein Generikentypparameter darstellen kann. Diese Funktion ermöglicht es dem Compiler, die Sicherheitstypsicherheit durchzusetzen, und verhindert Fehler, die während der Laufzeit auftreten können. Eine der am häufigsten verwendeten Einschränkungen ist die "Wo" Einschränkung wird dieser Artikel erklären, was die "Wo" Die Einschränkung ist in C# und wie Sie es in Ihrem Code verwenden.

Was ist die „wo“ Einschränkung?

Der "Wo" Die Einschränkung ist eine generische Typeinschränkung in C#, mit der Entwickler den Typ -Parameter angeben können, den ein generischer Typ darstellen kann. Die Einschränkung wird unter Verwendung der angegeben "Wo" Schlüsselwort gefolgt vom Typ Parameter Typ und der Einschränkung, der Syntax für die Verwendung des "Wo" Die Einschränkung ist wie folgt:

öffentliche Klasse Klassenname Wo T: Einschränkung

// Klassenimplementierung

Hier das "Klassenname" repräsentiert den Namen der Klasse mit einem Parameter vom Typ generischer Typ "T". Der "Wo" Das Schlüsselwort gibt die Einschränkung für den Typ -Parameter und die an "Zwang" ist der Typ, den der Typparameter darstellen muss.

Nehmen wir ein Beispiel für eine generische Klasse, die einen Typparameter akzeptiert und den Mindestwert aus einem Array von Werten zurückgibt. Hier verwendet der Code den "Wo" Einschränkung, um anzugeben, dass der Typparameter ein numerischer Typ sein muss:

mit System verwenden;
öffentlicher Klassen Minwert Wo t: struktur, kindbar, ikonvertierbar

öffentlich t GetMinValue (T [] Array)

if (Array == NULL || Array.Länge == 0)
Neue ArgumentException werfen ("Array kann nicht null oder leer sein");

T min = Array [0];
für (int i = 1; i < array.Length; i++)
if (Array [i].Vergleich (min) < 0)
min = Array [i];


Rückkehr min;


öffentliches Klassenprogramm

Public static void Main()

int [] intarrray = 1, 2, 3, 4, 5;
Minwert intminValue = neuer Minwert();
int intmin = intminValue.GetMinValue (Intarrray);
Konsole.WriteLine ("Mindestwert von Intarrray: 0", intmin);
double [] doublearray = 1.1, 2.2, 3.3, 4.4, 5.5;
Minwert doubeminValue = neuer Minwert();
Double Doublemin = DoubleminValue.GetMinValue (Doublearray);
Konsole.WriteLine ("Mindestwert von DoubleRearray: 0", doubleMin);

Hier haben wir eine generische Klasse definiert "Minvalue" Das akzeptiert einen Typparameter "T" und gibt den Mindestwert aus einer Reihe von Werten zurück. Als nächstes haben wir die benutzt "Wo" Einschränkung, um festzustellen. Diese Einschränkung stellt sicher, dass nur numerische Typen als Typparameter zulässig sind.

Abschluss

Der "Wo" Die Einschränkung in C# ist eine leistungsstarke Funktion, mit der Entwickler die Sicherheitstypsicherheit durchsetzen und Fehler während der Laufzeit verhindern können. Durch die Verwendung dieser Einschränkung können Sie den Satz von Typen angeben, den ein generischer Typparameter darstellen kann. Dieser Artikel hat einen Überblick darüber gegeben "Wo" Einschränkung in C# und demonstrierte, wie man es mit einem Code verwendet.