Как перевернуть предложение в С#

Мне нужно некоторое руководство о том, как перевернуть предложение, а затем вернуться к основному. В любом случае это нормально, независимо от того, перевернуты ли слова, например, «Mot am I» (я Tom) или «Tom is I».

Пользователь введет любое предложение, состоящее максимум из 6 слов. Потом будет наоборот. Должен ли я использовать .Split или ToCharArray? Вот что у меня есть до сих пор.

public static string Backwards() // Create Backwards Method
        {
            Console.ForegroundColor = ConsoleColor.Green;
            Console.WriteLine("Create a sentence with at least 6 words");
            string userSentence = Console.ReadLine();


            if (userSentence.Length <= 6)
            {

            }

        }

Хотя я почти уверен, что у меня не 6 или меньше слов, а 6 отдельных элементов. Советы, как ограничить строку определенным количеством слов? Многое из того, что я искал, имеет более сложные концепции, которые я еще не совсем понимаю. Любая помощь приветствуется.


person Xoax    schedule 23.01.2017    source источник
comment
Вы должны разделить пробел, а затем проверить длину массива.   -  person David L    schedule 23.01.2017
comment
Вот что у меня есть на данный момент - приятно видеть код, вы действительно не предприняли никаких попыток решить насущную проблему. Ваш приведенный выше код может быть для чего угодно. Как спросить   -  person MickyD    schedule 23.01.2017


Ответы (3)


Это может помочь вам

public static string Backwards() // Create Backwards Method
{
    Console.ForegroundColor = ConsoleColor.Green;
    Console.WriteLine("Create a sentence with at least 6 words");
    string userSentence = Console.ReadLine();
    //To count the number of words used split.length
    if(userSentence.Split(' ').Length <= 6)
    {
        userSentence = String.Join(" ", userSentence.Split(' ').Reverse());
    }
    return userSentence;
}

Метод string.Join сочетает в себе множество строки в одну. Он получает два аргумента: массив (или IEnumerable) и строку-разделитель.

Разбивает строку на подстроки, на основе символов в массиве.

как мне вернуться к основному методу?

private static void Main(string[] args)
{
    string dorev = Backwards();
}
person Mohit Shrivastava    schedule 23.01.2017
comment
как мне вернуться к основному методу? - person Xoax; 23.01.2017

Используйте разделение и реверсирование: проверьте разделенные документы здесь: https://msdn.microsoft.com/en-us/library/tabh47cf(v=vs.110).aspx. Есть несколько интересных вариантов метода разделения

var userSentenceArr = userSentence.split(" ");
userSentenceArr = Array.Reverse(userSentenceArr );
person chrisl08    schedule 23.01.2017

Строка ввода:

один два три четыре пять

Выходная строка:

eno owt erht ruof evif

string inputString = "one two three four five";
string resultString = string.Join(" ", inputString.Split(' ').Select(x => new String(x.Reverse().ToArray())));
person vivek nuna    schedule 23.01.2017