Jak używać gdzie (Ogólne ograniczenie typu)

Jak Uzywac Gdzie Ogolne Ograniczenie Typu



Ograniczenia typu ogólnego w języku C# umożliwiają deweloperom definiowanie zestawu typów, które może reprezentować parametr typu ogólnego. Ta funkcja umożliwia kompilatorowi wymuszanie bezpieczeństwa typu i zapobiega błędom, które mogą wystąpić w czasie wykonywania. Jednym z najczęściej używanych ograniczeń jest tzw 'Gdzie' ograniczenie, ten artykuł wyjaśni, co 'Gdzie' ograniczenie jest w języku C# i jak go używać w swoim kodzie.

Co to jest ograniczenie „gdzie”.

The 'Gdzie' constraint to ogólne ograniczenie typu w języku C#, które umożliwia programistom określenie parametru typu, który może reprezentować typ ogólny. Ograniczenie jest określone za pomocą 'Gdzie' słowo kluczowe, po którym następuje parametr typu i ograniczenie, składnia użycia 'Gdzie' ograniczenie jest następujące:

klasa publiczna nazwa klasy < T > gdzie t : ograniczenie

{

// Implementacja klasy

}

Tutaj 'Nazwa klasy' reprezentuje nazwę klasy z parametrem typu ogólnego 'T' . The 'Gdzie' słowo kluczowe określa ograniczenie dla parametru typu, a 'ograniczenie' jest typem, który musi reprezentować parametr typu.







Weźmy przykład klasy ogólnej, która przyjmuje parametr typu i zwraca wartość minimalną z tablicy wartości. Tutaj kod używa 'Gdzie' ograniczenie, aby określić, że parametr typu musi być typem liczbowym:



przy użyciu Systemu ;

klasa publiczna MinValue < T > gdzie t : struktura , IPorównywalne , IZamienny

{

publiczny T GetMinValue ( T [ ] szyk )

{

Jeśli ( szyk == zero || szyk. Długość == 0 ) {

rzuć nowy ArgumentException ( „Tablica nie może mieć wartości null ani być pusta” ) ;

}

T min = szyk [ 0 ] ;

Do ( int I = 1 ; I < szyk. Długość ; I ++ ) {

Jeśli ( szyk [ I ] . Porównać do ( min ) < 0 ) {

min = szyk [ I ] ;

}

}

powrót min ;

}

}

program klasy publicznej

{

publiczny statyczny próżnia Główny ( )

{

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

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

int intMin = intMinValue. PobierzMinValue ( intArray ) ;

Konsola. Linia zapisu ( „Minimalna wartość intArray: {0}” , intMin ) ;

podwójnie [ ] podwójna tablica = { 1.1 , 2.2 , 3.3 , 4.4 , 5.5 } ;

MinValue < podwójnie > podwójnaMinValue = nowa MinValue < podwójnie > ( ) ;

podwójnie podwójnyMin = podwójnaMinValue. PobierzMinValue ( podwójna tablica ) ;

Konsola. Linia zapisu ( „Minimalna wartość doubleArray: {0}” , podwójnyMin ) ;

}

}

Tutaj zdefiniowaliśmy klasę ogólną „Minimalna wartość” który akceptuje parametr typu 'T' i zwraca wartość minimalną z tablicy wartości. Następnie wykorzystaliśmy tzw 'Gdzie' ograniczenie, aby określić, że parametr typu musi być strukturą, zaimplementować interfejs IComparable i zaimplementować interfejs IConvertible. To ograniczenie zapewnia, że ​​jako parametry typu dozwolone są tylko typy liczbowe.



  Kształt, prostokąt Opis generowany automatycznie





Wniosek

The 'Gdzie' constraint w języku C# to zaawansowana funkcja, która umożliwia programistom egzekwowanie bezpieczeństwa typów i zapobieganie błędom w czasie wykonywania. Korzystając z tego ograniczenia, można określić zestaw typów, które może reprezentować parametr typu ogólnego. Ten artykuł zawiera przegląd 'Gdzie' constraint w języku C# i zademonstrowałem, jak go używać z kodem.