Ja, aber was machst du denn mit Arrays? Warum keine normalen ShortStrings? (Strings gehen zwar auch, würden aber bei falscher Länge keinen Fehler produzieren.)
Da wird korrekt verglichen, da die Länge nicht erst bestimmt wird wie bei der Umwandlung aus dem Array.
Delphi-Quellcode:
const
a: String[10] = 'Test'#0#0#0#0#0#0;
var
b: String[10] = 'Test'#0#0#0#0#0#1;
c: String[10] = 'Test'#0#0#0#0#0#0;
d: String;
begin
Writeln(a = b);
Writeln(a = c);
d := b;
Writeln(a = d);
d := c;
Writeln(a = d);
ergibt (zumindest in Delphi) korrekterweise
Und es wird die Länge auch korrekt mit 10 im Vergleich benutzt.