###### tags: `C#` # C#判斷字串首字 [C# 字串切割,判斷單詞首字元](https://learn.microsoft.com/zh-tw/training/modules/csharp-arrays-operations/7-challenge-2) ```csharp= /* * 找出字串內B字元開頭單詞 * */ //input string orderStream = "B123,C234,A345,C15,B177,G3003,C235,B179"; //output B123 B177 B179 ``` ## 使用函式 - Split() - StarWiths() - ToCharArray()-另種方法 ## 解題思路 第一次解題時 1. 拆字串為字串陣列 2. 字串陣列拆字元陣列 3. 字元陣列判斷首字是否為'B' 4. 為B則印出該單詞 後來看到官方解答更為簡單 1. 拆字串為字串陣列 2. 字串陣列元素使用函式判斷首字是否為'B' 3. 為B則印出該字單詞 --- ## 程式碼防雷線 --- ### 第一次自己解 ```csharp= string orderStream = "B123,C234,A345,C15,B177,G3003,C235,B179"; //切割成字串陣列 string[] orderStreamArr = orderStream.Split(','); for (int i = 0; i < orderStreamArr.Length; i++) { //切割字元陣列,判斷首字元是否為'B',是就印出來 char[] orderStreamChar = orderStreamArr[i].ToCharArray(); if (orderStreamChar[0] == 'B') { Console.WriteLine(orderStreamArr[i]); } } ``` <br/> ### StarsWith改良版 ```csharp= string orderStream = "B123,C234,A345,C15,B177,G3003,C235,B179"; //切割成字串陣列 string[] orderStreamArr = orderStream.Split(','); for (int i = 0; i < orderStreamArr.Length; i++) { if (orderStreamArr[i].StartsWith("B")) { Console.WriteLine(orderStreamArr[i]); } } ```