Mit der Protierung des C# Codes habe ich Probleme, da mir der Sprache C# nicht so geläufig ist. Werde es aber mal genauer anschauen.
Man wächst mit seinen Aufgaben.
Außerdem sollte man als Softwareentwickler schon mehr als eine Programmiersprache zumindest lesen können.
C# ist aber einfach zu lesen und zu verstehen als bspw. reine C-Quelltexte, die hart alle Möglichkeiten der Zeigerschweinereien ausnutzen.
Eigentlich könntest du den Quelltext nehmen, stumpf die { } Klammern mit begin ersetzen, then zu den ifs hinzufügen, switch mit case of ersetzen und die inline Variablen im Delphi-Stil vor dem ersten Begin einer Methode definieren.
Dann ist schon ein Großteil des Quelltextes portiert und man kann sich um die Feinheiten kümmern, wo der Kompiler sagt: "Ne, so ist noch nicht rund!".