1 class Program 2 { 3 static void Main(string[] args) 4 { 5 while (true) 6 { 7 Console.WriteLine("請輸入你要轉的漢字"); 8 string str = Console.ReadLine(); 9 string py = GetPinYin(str); 10 Console.WriteLine(py); 11 } 12 13 //ChineseChar類的其他用法: 14 //1、靜態方法: 15 // ->GetCharCount(Inter16) 檢索具有指定筆畫數的字符個數。 16 // ->GetChars(string) 返回具有相同的指定拼音的字符串列表 17 // ->GetChars(Inter16) 返回具有指定筆畫的所有漢字。 18 // ->GetHomophoneCount(string) 檢索具有指定拼音的字符數。 19 // ->GetStrokeNumber(Char) 檢索指定字符的筆畫數。 20 // ->IsHomophone(Char, Char) 識別給出的兩個字符是否是同音字。 21 // ->IsValidChar(Char) 識別給出的字符串是否是一個有效的漢字字符。 22 // ->IsValidPinyin(String) 識別給出的拼音是否是一個有效的拼音字符串。 23 // ->IsValidStrokeNumber(Int16) 識別給出的筆畫數是否是一個有效的筆畫數。 24 //2、實例方法: 25 // ->ChineseCharNew(Char) ChineseChar類的構造函數。 26 // ->CompareStrokeNumber(Char) 將給出的字符和實例字符的筆畫數進行比較。 27 // ->HasSound(String) 識別字符是否有指定的讀音。 28 // -> IsHomophone(Char) 識別給出的字符是否是實例字符的同音字。 29 //3、實例屬性: 30 // ->ChineseCharacter 獲取這個漢字字符。 31 // ->IsPolyphone 獲取這個字符是否是多音字。 32 // ->PinyinCount 獲取這個字符的拼音個數。 33 // ->StrokeNumber 獲取這個字符的筆畫數 34 } 35 /// <summary> 36 /// 獲得中文字符串的拼音 37 /// </summary> 38 /// <param name="str"></param> 39 /// <returns></returns> 40 private static string GetPinYin(string str) 41 { 42 string py = ""; 43 44 for (int i = 0; i < str.Length; i++) 45 { 46 if (ChineseChar.IsValidChar(str[i]))//判斷當前字符是不是漢字 47 { 48 ChineseChar cc = new ChineseChar(str[i]);//構造方法 49 py += cc.Pinyins[0].TrimEnd('1', '2', '3', '4', '5').ToLower(); 50 } 51 else//不是漢字的話 加本身 52 { 53 py += str[i]; 54 } 55 56 } 57 58 return py; 59 } 60 }
