字符串反转的几个方法

    static string Reverse1(string original)
    
{
        
char[] arr = original.ToCharArray();
        Array.Reverse(arr);
        
return new string(arr);
    }


    
static string Revease21(string original)
    
{
        
int length = original.Length;
        
char[] arr = new char[length];
        
for (int i = 0; i < (length & (~3)); i += 4)
        
{
            arr[i] 
= original[length - i - 1];
            arr[i 
+ 1= original[length - i - 2];
            arr[i 
+ 2= original[length - i - 3];
            arr[i 
+ 3= original[length - i - 4];
        }

        
for (int i = length & (~3); i < length; i++)
        
{
            arr[i] 
= original[length - i - 1];
        }

        
return new string(arr);
    }


    
static string Revease22(string original)
    
{
        
int length = original.Length;
        
char[] arr = new char[length];
        
for (int i = 0; i < length; i++)
        
{
            arr[i] 
= original[length - i - 1];
        }

        
return new string(arr);
    }


    
static string Revease3(string original)
    
{
        
int length = original.Length;
        StringBuilder sb 
= new StringBuilder(length);
        
for (int i = length - 1; i >= 0; i--)
            sb.Append(original[i]);
        
return sb.ToString();
    }
posted @ 2008-06-13 14:40  <一路向西  阅读(441)  评论(0)    收藏  举报