###### tags: `C#` # C#單字反轉挑戰 [Microsoft learn C#單字反轉挑戰](https://learn.microsoft.com/zh-tw/training/modules/csharp-arrays-operations/5-challenge-1) ```csharp= //input string pangram = "The quick brown fox jumps over the lazy dog"; //output "ehT kciuq nworb xof spmuj revo eht yzal god" ``` ## 使用函式 - Split() -依據參數分割字串,傳回字串陣列 - ToCharArray() -字串切割成字元陣列 - Array.Reverse() -反轉陣列 - String.Join -組合字串陣列,並在兩元素間插入字串,回傳字串 ## 解題思路 1. 將input string 拆解成 string array, ["The", "quick", "brown",...]。 2. 將string array陣列裡元素單字,拆解成char array,['T', 'h', 'e']。 3. 利用陣列反轉,將char array裡的元素順序反轉,['e', 'h', 'T']。 4. 將char array,組合成string,放入string array,char ['e', 'h', 'T'] ->string ["ehT"]。 5. 將string array組合成字串且每個元素中間插入空白字元。 --- ## 程式碼防雷線 --- ```csharp= string pangram = "The quick brown fox jumps over the lazy dog"; string[] pangramArr = pangram.Split(' '); for (int i = 0;i < pangramArr.Length; i++) { char[] pangramChar = pangramArr[i].ToCharArray(); Array.Reverse(pangramChar); pangramArr[i] = new string(pangramChar); } string result = String.Join(" ",pangramArr); Console.WriteLine (result); ```