反句全句

4 c#

我想以反向格式打印字符串:

输入: My name is Archit Patel

输出:Patel Archit is name My.

我绑了以下但显示为letaP tihcrA si eman ym.

public static string ReverseString(string s)
{
    char[] arr = s.ToCharArray();
    Array.Reverse(arr);
    return new string(arr);
}
Run Code Online (Sandbox Code Playgroud)

Guf*_*ffa 16

您需要将字符串拆分为单词,而不是反转字符:

text = String.Join(" ", text.Split(' ').Reverse())
Run Code Online (Sandbox Code Playgroud)

在框架3.5中:

text = String.Join(" ", text.Split(' ').Reverse().ToArray())
Run Code Online (Sandbox Code Playgroud)

在框架2.0中:

string[] words = text.Split(' ');
Array.Reverse(words);
text = String.Join(" ", words);
Run Code Online (Sandbox Code Playgroud)

  • @PaulAlanTaylor:是的,这正是它的作用. (2认同)

Rob*_*III 6

" 请把这个程序的代码发给我."

好的 ...

using System;
using System.Linq;

class Program
{
    static void Main(string[] args)
    {
        string text = "My name is Archit Patel";

        Console.WriteLine(string.Join(" ", text.Split(' ').Reverse()));
    }
}
Run Code Online (Sandbox Code Playgroud)

现在:你学到了什么?

另外,正如Guffa所指出的,对于.Net 4.0以下的版本,你需要添加.ToArray()自string.Join 在这些版本中没有正确的重载.


小智 5

在没有内置函数的情况下试试这个

public string ReverseFullSentence(string inputString)
        {
            string output = string.Empty;
            string[] splitStrings = inputString.Split(' ');
            for (int i = splitStrings.Length-1; i > -1 ; i--)
            {
                output = output + splitStrings[i]+ " ";
            }
                return output;
        }
Run Code Online (Sandbox Code Playgroud)