Обобщённая проверка массивов на равенство

Материал из Вики ИТ мехмата ЮФУ
Версия от 23:12, 12 февраля 2016; Ulysses (обсуждение | вклад) (Новая страница: «/// <summary> /// Проверяет массивы a, b на равенство и возвращает /// истину, если они равны /// </summar…»)

(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

/// <summary> /// Проверяет массивы a, b на равенство и возвращает /// истину, если они равны /// </summary> /// <param name="a">Первый массив</param> /// <param name="b">Второй массив</param> /// <returns>Истину, если содержимое массивов равно</returns> function ArrsAreEqual<T>(a, b: array of T): boolean; begin

 Assert(a <> nil, 'ArrsAreEqual: a <> nil');
 Assert(b <> nil, 'ArrsAreEqual: b <> nil');
 // сравниваем длины
 Result := a.Length = b.Length;
 if Result then
 begin
   // здесь result is true
   var i := 0;
   while (i < a.Length) and (a[i] = b[i]) do
     i += 1;
   if i < a.Length then
     Result := false;
 end;

end;