Как се използва където (общо ограничение на типа)

Kak Se Izpolzva K Deto Obso Ogranicenie Na Tipa



Ограниченията на общия тип в C# позволяват на разработчиците да дефинират набора от типове, които параметърът на общия тип може да представлява. Тази функция позволява на компилатора да наложи безопасност на типа и предотвратява грешки, които могат да възникнат по време на изпълнение. Едно от най-използваните ограничения е 'където' ограничение, тази статия ще обясни какво 'където' ограничението е в C# и как да го използвате във вашия код.

Какво представлява ограничението „къде“.

The 'където' constraint е ограничение за общ тип в C#, което позволява на разработчиците да определят параметъра на типа, който може да представлява общ тип. Ограничението се определя с помощта на 'където' ключова дума, последвана от параметъра тип и ограничението, синтаксиса за използване на 'където' ограничението е както следва:

публичен клас ClassName < T > където Т : ограничение

{

// Реализация на клас

}

Тук „Име на клас“ представлява името на класа с параметър за общ тип 'T' . The 'където' ключовата дума указва ограничението за параметъра тип и 'ограничение' е типът, който трябва да представлява параметърът тип.







Нека вземем пример за общ клас, който приема параметър тип и връща минималната стойност от масив от стойности. Тук кодът използва 'където' ограничение, за да укажете, че параметърът тип трябва да бъде числов тип:



използвайки System ;

публичен клас MinValue < T > където Т : структура , IComparable , IConvertible

{

публичен T GetMinValue ( T [ ] масив )

{

ако ( масив == нула || масив. Дължина == 0 ) {

хвърлете нов ArgumentException ( „Масивът не може да бъде нулев или празен“ ) ;

}

Т мин = масив [ 0 ] ;

за ( вътр аз = 1 ; аз < масив. Дължина ; аз ++ ) {

ако ( масив [ аз ] . Сравни с ( мин ) < 0 ) {

мин = масив [ аз ] ;

}

}

връщане мин ;

}

}

програма за публичен клас

{

публичен статичен невалиден Основен ( )

{

вътр [ ] intArray = { 1 , 2 , 3 , 4 , 5 } ;

MinValue < вътр > intMinValue = нова MinValue < вътр > ( ) ;

вътр intMin = intMinValue. GetMinValue ( intArray ) ;

Конзола. WriteLine ( „Минимална стойност на intArray: {0}“ , intMin ) ;

двойно [ ] двоен масив = { 1.1 , 2.2 , 3.3 , 4.4 , 5.5 } ;

MinValue < двойно > doubleMinValue = нова MinValue < двойно > ( ) ;

двойно двойно Мин = doubleMinValue. GetMinValue ( двоен масив ) ;

Конзола. WriteLine ( „Минимална стойност на doubleArray: {0}“ , двойно Мин ) ;

}

}

Тук сме дефинирали общ клас „Минимална стойност“ който приема параметър тип 'T' и връща минималната стойност от масив от стойности. След това използвахме 'където' ограничение, за да укажете, че параметърът тип трябва да бъде структура, да имплементирате интерфейса IComparable и да имплементирате интерфейса IConvertible. Това ограничение гарантира, че само числови типове са разрешени като параметри на типа.



  Форма, правоъгълник Автоматично генерирано описание





Заключение

The 'където' ограничението в C# е мощна функция, която позволява на разработчиците да налагат безопасност на типа и да предотвратяват грешки по време на изпълнение. Като използвате това ограничение, можете да посочите набора от типове, които параметърът на общ тип може да представлява. Тази статия предоставя общ преглед на 'където' ограничение в C# и демонстрира как да го използва с код.