Einzelnen Beitrag anzeigen

Furtbichler
(Gast)

n/a Beiträge
 
#27

AW: 0-Based Strings ab XE4

  Alt 23. Apr 2013, 08:20
wo braucht man in modernen Programmiersprache ein Count - 1?
Vermutlich wird mittlerweile ein Großteil der C#/.NET-Entwickler nicht mal wissen das man Arrays/Liste auch mit einer einfachen Schleife statt einem for each-Konstrukt durchlaufen kann
Also man benötigt das schon, wenn man z.B. den Index für Berechnungen verwenden muss. Und damit dürfte der Großteil der C#/Java/usw-Entwickler schon wissen, wie man Arrays per 'for' durchläuft. Allerdings wird das in Zeiten von LINQ auch immer seltener...

...Oder Du lässt Dir Dir low() und high() die jeweils korrekten Grenzen eines Strings liefern.
Wenn Du häufig auf die erste, dritte oder zwölfte Stelle eines Strings zugreifen müsst. Kannst Du Dir auch Konstanten definieren, die Dir den korrekten Index liefern: FIRST = low(s) oder THIRD = low(s)+2...
Deine gutgemeinten Ratschläge und Tipps halte ich jetzt eher für einen Workaround als für solide Programmierung.

Der Wechsel des String-Paradigmas von 1- auf 0-basiert ist ein dermaßen harter Einschnitt, das man den konsequent gehen muss. Ohne Wenn und Aber. Die alten Programme sind dann eben nicht mehr mit XE3/XE4 kompilierbar. Oder man geht das Risiko ein und ändert den Code. Da die meisten eh nichts von automatisierten Tests halten (reiner Erfahrungswert, kein Vorwurf), wird das eine schöne Achterbahnfahrt ohne Sicherheitsgurt.

Ich habe z.B. eine sehr große Anwendung unter D6. Die werde ich nicht portieren. Der Kunde zahlt es nicht und es wäre Selbstmord. Also habe ich bis ich in Rente gehe eine VM mit D6 am Laufen.
  Mit Zitat antworten Zitat