First, introduce a library of ChnCharInfo. dll 3rd.
Code:
Btn_chinChar_Click event:
Copy codeThe Code is as follows: private void btn_chinChar_Click (object sender, EventArgs e)
{
ChineseChar cr = null;
String str = "", txtString = txt_string.Text.Trim ();
If (! String. IsNullOrEmpty (txtString ))
{
Foreach (var item in cr. GetChineseSpellings (txtString ))
{
Str + = item + "-";
}
}
MessageBox. Show (str );
}
Extension Method:
Copy codeThe Code is as follows: public static class ChineseCharacters
{
Public static ICollection <string> GetChineseSpellings (this ChineseChar chinChar, string value)
{
List <string> list;
Int I, start;
Char c;
If (string. IsNullOrEmpty (value) return null;
Start = 0;
List = new List <string> ();
For (I = 0; I <value. Length; ++ I)
{
C = value [I];
If (ChineseChar. IsValidChar (c ))
{
If (I> start)
{
List. Add (value. Substring (start, I-start ));
}
ChinChar = new ChineseChar (c );
List. Add (chinChar. Pinyins. First (). Substring (0, chinChar. Pinyins. First (). Length-1). ToLower ());
Start = I + 1;
}
}
If (I> start)
{
List. Add (value. Substring (start, I-start ));
}
Return list;
}
}
Result: