Umkehren einer Zeichenfolge ohne Verwendung von Reverse. Es funktioniert, aber warum?

Ok, also ein Freund von mir bat mich, ihm zu helfen mit einem string-reverse-Methode, die wiederverwendet werden können, ohne mit String.Reverse (es ist eine Hausaufgabe für ihn). Nun, ich habe, unten ist der code. Es funktioniert. Prächtig sogar. Offensichtlich, indem es bei der Suche können Sie sehen, die größer die Zeichenfolge-je länger die Zeit, die es braucht, um zu arbeiten. Aber meine Frage ist, WARUM funktioniert es? Programmieren ist eine Menge von Versuch und Irrtum, und ich war mehr pseudocoding als die eigentliche Kodierung und es hat funktioniert lol.

Kann mir jemand erklären, wie genau reverse = ch + Rückseite; funktioniert? Ich verstehe nicht, was macht es Umgekehrt :/

class Program
{

    static void Reverse(string x)
    {

        string text = x;
        string reverse = string.Empty;
        foreach (char ch in text)
        {

            reverse = ch + reverse;
            //this shows the building of the new string. 
            //Console.WriteLine(reverse);
        }

        Console.WriteLine(reverse);        

    }
    static void Main(string[] args)
    {

        string comingin;
        Console.WriteLine("Write something");
        comingin = Console.ReadLine();
       Reverse(comingin);

        //pause
        Console.ReadLine();
    }



}
Haben Sie versucht, zu Fuß durch es auf dem Papier oder im debugger? Jede Antwort ist im Grunde die gleiche Sache zu tun, würde ich mir vorstellen...
Was du im Grunde tust, ist das einfügen von einzelnen Buchstaben von der original-string an position 0 in der neuen Zeichenfolge.
Was ist daran nicht zu verstehen? Sie nehmen Zeichen von der Vorderseite von x und stellen Sie das Ergebnis reverse - so abc wird (a bc), (ba c) (cba `)
Ich habe schon für so etwas wie 32 Stunden, also hatte ich keine Ahnung, wie es funktioniert...für mich war es eine jener Situationen, dass es einfach funktioniert und ich war zufrieden mit dem unmittelbaren Ergebnis, da war es buchstäblich nur mir, versuche pseudocode Sie es aus, bevor ich tatsächlich etwas geschrieben. Ich hatte erwartet, müssen Sie ein array lol.
Sollten Sie verwenden StringBuilder da die Verkettung von strings ist teuer.

InformationsquelleAutor Randy E | 2013-06-06

Schreibe einen Kommentar