Programmieren - C# String "umdrehen"

3 Antworten

string swirlText = "test";

string unSwirldText = string.Empty;

for(int i=test.length-1;i>=0;i--){

unSwirldText += swirldText[i];

}

ungetestet müsste aber gehen. Ich weiß grad aber nich ausm kopf ob man direkt auf die einzelnen Zeichen eines Strings so auslesen kann. Musst eventuell vorher in chararray umwandeln

string x = "umdrehen"; //String der umgedreht wird
string xUmgedreht = null; //Umgedrehter String
char[] stringhinein = new char[x.Length]; //hier wird der String in Einzelteile zerlegt und eingelesen
char[] stringumdrehen = new Char[x.Length]; //hier wird das Feld stringhinein umgedreht eingelesen
int counter = 0;

//x in stringhinein unterteilen mit Substring (zerlegt den String mit (i,1) -> Bsp.: ab stelle i eine Stelle rausschneiden)
for (int i = 0; i < x.Length; i++)
{
stringhinein[i] = Convert.ToChar(x.Substring(i, 1));
}

//umgedrehte Forschleife, counter fängt bei null an weil möchten ja in die 0 Stell von stringumdrehen die letzte von stringhinein einlesen
for (int i = x.Length; i > 0; i--)
{
stringumdrehen[counter] = stringhinein[i-1];
counter++;
}

//stringumdrehen in xUmgedreht
for (int y = 0; y < x.Length; y++)
{
xUmgedreht += stringumdrehen[y];
}
//Ausgabe
Console.WriteLine(xUmgedreht);

Console.ReadKey();

Das Beispiel ist der Website http://dotnetperls.com/reverse-string entnommen:

using System;

static class StringHelper
{
    /// <summary>
    /// Receives string and returns the string with its letters reversed.
    /// </summary>
    public static string ReverseString(string s)
    {
        char[] arr = s.ToCharArray();
        Array.Reverse(arr);
        return new string(arr);
    }
}

class Program
{
    static void Main()
    {
        Console.WriteLine(StringHelper.ReverseString("framework"));
        Console.WriteLine(StringHelper.ReverseString("samuel"));
        Console.WriteLine(StringHelper.ReverseString("example string"));
    }
}

=== Output of the program ===

krowemarf

leumas

gnirts elpmaxe