Guy Guy - 5 months ago 45
C# Question

Best way to reverse a string

I've just had to write a string reverse function in C# 2.0 (i.e. LINQ not available) and came up with this:

public string Reverse(string text)
char[] cArray = text.ToCharArray();
string reverse = String.Empty;
for (int i = cArray.Length - 1; i > -1; i--)
reverse += cArray[i];
return reverse;

Personally I'm not crazy about the function and am convinced that there's a better way to do it. Is there?

public static string Reverse( string s )
    char[] charArray = s.ToCharArray();
    Array.Reverse( charArray );
    return new string( charArray );

I think the above works not tested, although the stringbuilder class may also have a reverse function I haven't checked that though.