public unsafe string Reverse( string s ) { fixed ( char* p = s ) { char* pS = p; char* pC = p + ( s.Length - 1 ); char tmp; while( pS < pC ) { tmp = *pS; *pS = *pC; *pC = tmp; pC--; pS++; } } return s; }