The best solution so far is Solution 2.
If you want to solve this problem on a lower level, main thing to remember: strings are immutable, so, to compose a string from data, don't use + (concatenation) on strings, use the mutable type
System.Text.StringBuilder
:
https://msdn.microsoft.com/en-us/library/system.text.stringbuilder%28v=vs.110%29.aspx[
^].
Another approach would be: create a fixed-length array of characters (you know the length of it, because you know the length of the input string), fill it in with characters of the input string in reverse order in a loop, create a new string out of this array.
—SA