如何使用c#编程来反转字符串中的单词?

时间:2016-08-09 10:32:04

标签: c#

我想要一个字符串中的反向词。我没有得到适当的输出。请帮帮我。

实施例

  • 输入:Hello world
  • 输出:World Hello

代码:

class Program
{
    static void Main(string[] args)
    {
        Console.WriteLine("Enter a string");
        string s1 = Console.ReadLine();           
        string s2 = "";
        int l = s1.Length;

        for (int i = l - 1; i >= 0; i--)
        {
            s2 = s2 + s1[i];
        } 
        for (int i = 0; i<s2.Length; i++)
        {
            if (s2[i] == ' ')
            {
                for(int j=i;j>0 && s2[j]!=' ';j--)
                   Console.Write(s2[j1]);
                   Console.Write(" ");
            }
            else if (i == s2.Length - 1)
            {
                for (int j = i+1; j > 0 && s2[j] != ' '; j--)
                    Console.Write(s2[j]);
                Console.Write(" ");
            }                   
        }
    }
} 

2 个答案:

答案 0 :(得分:3)

最简单的appraoch将在其边界分割单词,然后使用IEnumerable<T>.Reverse()

var words = myString.Split(' ');
var result = words.Reverse();

将它们全部合并为一个字符串:

var resultString = String.Join(" ", result);

最后的单线:

var result = String.Join(" ", myString.Split(' ').Reverse());

答案 1 :(得分:-1)

只需使用内置的Linq方法:

Console.WriteLine("Please input string");
string input = Console.ReadLine();
string reversed = string.Join(" " , input.Split(' ').Reverse());