其中LINQ写法最为简洁
//string concatenation with for loop public string ReverseA(string text) { char[] cArray = text.ToCharArray(); string reverse = String.Empty; for (int i = cArray.Length - 1; i > -1; i--) { reverse += cArray[i]; } return reverse; } // Array.Reverse function public string ReverseB(string text) { char[] charArray = text.ToCharArray(); Array.Reverse(charArray); return new string(charArray); } // push/pop Stack<> public string ReverseC(string text) { Stack resultStack = new Stack(); foreach (char c in text) { resultStack.Push(c); } StringBuilder sb = new StringBuilder(); while (resultStack.Count > 0) { sb.Append(resultStack.Pop()); } return sb.ToString(); } // LINQ public string ReverseD(string text) { return new string(text.ToCharArray().Reverse().ToArray()); } // StringBuilder public string ReverseE(string text) { char[] cArray = text.ToCharArray(); StringBuilder reverse = new StringBuilder(); for (int i = cArray.Length - 1; i > -1; i--) { reverse.Append(cArray[i]); } return reverse.ToString(); }