📜  c# string reverse - C# (1)

📅  最后修改于: 2023-12-03 15:29:46.280000             🧑  作者: Mango

C# String Reverse

在C#中,字符串反转是一个常见的编程任务,它可以用几种不同的方式来实现。在本文中,我们将探讨一些用C#字符串反转的方法。

方法1: 使用循环迭代反转字符串

长度为n的字符串可以通过以下代码反转:

public static string ReverseString(string str)
{
    char[] charArray = str.ToCharArray();
    int len = str.Length - 1;
    for (int i = 0; i < len; i++, len--)
    {
        charArray[i] ^= charArray[len];
        charArray[len] ^= charArray[i];
        charArray[i] ^= charArray[len];
    }
    return new string(charArray);
}

该方法使用一个for循环来迭代字符串的前一半,将其与后一半字符交换。

方法2: 使用StringBuilder

StringBuilder是一个非常有用的类,它可以用于创建可变字符串。以下代码演示了如何使用StringBuilder反转字符串:

public static string ReverseString(string str)
{
    StringBuilder sb = new StringBuilder(str.Length);
    for (int i = str.Length - 1; i >= 0; i--)
    {
        sb.Append(str[i]);
    }
    return sb.ToString();
}
方法3: 使用LINQ

使用LINQ将字符串反转也是一种非常流行的方法,如下所示:

public static string ReverseString(string str)
{
    return new string(str.Reverse().ToArray());
}

该方法首先调用str.Reverse()方法返回一个IEnumerable对象,然后使用ToArray()方法转换为char数组,最后使用string的构造函数将其返回。

总结

在本文中,我们介绍了三种C#字符串反转方法。除了使用循环迭代,我们还介绍了使用StringBuilder和LINQ的方法。最终选择哪个方法主要取决于实际需要和代码简洁度。