Zitat von
Dax:
High intern auch nur Length aufruft, aber den Wert noch um 1 verkleinert, bevor es ihn zurückgibt.
Nun ja, ganz so stimmt das natürlich nicht. Wenn du die Länge möchtest, dann ist es natürlich sinnvoll, wenn du length verwendest. High = -1 macht schon deswegen keinen Sinn, weil es auch nicht 0 indizierte Arrays gibt (ein String ist z.B. 1 indiziert). Hier würden Low und High entsprechend die korrekte untere bzw obere Grenze liefern.
Delphi-Quellcode:
var x : Array[10..20] of Integer;
begin
length(x) = 10
// aber
high(x) = 20 (Länge minus eins wäre vielmehr 9)
end;
Ein Vergleich welchen Wert high hat macht i.d.R. keinen Sinn. Ja, auch wenn man vieles auch anders schreiben kann, es ist nicht immer das Gleiche!