Ограничения на параметры обобщенных классов
Материал из Вики проекта PascalABC.NET
Секция where задает условия на параметры обобщенных подпрограмм и классов. В данном случае для вычисления минимального элемента массива его элементы должны удовлетворять интерфейсу System.IComparable, т.е. быть сравнимыми на "меньше".
function MinElem<T>(a: array of T): T; where T: System.IComparable; begin Result := a[0]; for var i:=1 to a.Length-1 do if a[i].CompareTo(Result)<0 then Result := a[i]; end; begin var a : array of integer := (2,1,8,4,7); writeln(MinElem(a)); var ss : array of string := ('Иванов ','Астахов','Петров','Абдурахманов','Попов'); writeln(MinElem(ss)); end.
