2016-09-13 91 views
0

我需要反轉由用戶輸入創建的數組。我已經做好了一切工作,但是我希望判決被簡單地顛倒過來而不是顛倒過來,並將其顯示爲單獨的單詞。到目前爲止,我有這個想法,但我想我可能不得不完全不同地處理這個問題。在C#中顯示一個數組作爲一個句子#

 //Prompt user for sentence 
     Console.WriteLine("Please enter a sentence with at least 5 words:"); 
     string userSentence = Console.ReadLine(); 
     string[] sentenceArray = userSentence.Split(' '); 

     Array.Reverse(sentenceArray); 


     foreach (string word in sentenceArray) 
     { 
      Console.WriteLine(word); 
     } 
+0

爲了說清楚,輸入:「我很好」 - >輸出:「doog ma I」?正確? – mok

+0

你快到了。使用string.Join:https://msdn.microsoft.com/ru-ru/library/dd783876(v=vs.110).aspx,你是金:) – JleruOHeP

+0

'string userSentence =「abc def ghj」; foreach(在userSentence.Reverse()中的char字母)Console.Write(letter);' –

回答

3

而不是for循環,請使用string.Join()將數組的所有元素組合到一個字符串中。

Console.WriteLine(string.Join(" ", sentenceArray)); 
+3

無論何時您可以用一個班輪替換一個循環,彩虹就會誕生。 – ja72

0

我不知道爲什麼你要第一個分割字符串,但是,你可以反分裂數組是這樣的:

var s = "I am good"; 
string[] sentenceArray = s.Split(' '); 
var a = string.Join(" ", sentenceArray).ToCharArray(); 
Array.Reverse(a); 
var ss = new string(a); 
Console.WriteLine(a); //doog ma I 
0

有沒有需要分割的字符串。只需將其轉換爲數組,將其反轉爲字符串即可。

public static void Main() 
{ 
    //Prompt user for sentence 
    Console.WriteLine("Please enter a sentence with at least 5 words:"); 
    string userSentence = Console.ReadLine(); 
    string reversed = Reverse(userSentence); 
    Console.WriteLine(reversed); 
} 

public static string Reverse(string data) 
{ 
    char[] dataArray = data.ToCharArray(); 
    Array.Reverse(dataArray); 
    return new string (dataArray); 
} 
相關問題