Ограничения на параметры обобщенных классов
Материал из Вики проекта 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.