[C#]中文陣列排序(文化特性排序 for 各國語系)
之前有個地方在討論中文要怎麼排序,通常台灣很像都是ㄅㄆㄇㄈ或筆畫。所以今天晚上努力地找了一下,並把他實現,所以在此做個紀錄。
其實並不難,因為微軟都已經幫忙做好了
其中CultureInfo是代入微軟所提供之方法,可參考下列網址:點我網址
主要程式碼如下:
主要是第8行的
依照注音排序的結果
其實並不難,因為微軟都已經幫忙做好了
其中CultureInfo是代入微軟所提供之方法,可參考下列網址:點我網址
主要程式碼如下:
//注音排序 string[] StrSort; StrSort = InputBox.Text.Split(','); ListitemList = new List (); itemList = InputBox.Text.Split(',').ToList(); System.Threading.Thread.CurrentThread.CurrentCulture = new CultureInfo(0x00030404); itemList.Sort((A, B) => { return A.CompareTo(B); }); foreach (String s in itemList) { OutputBox.Text = OutputBox.Text + s + " "; }
主要是第8行的
CultureInfo代碼要代入微軟的文化特性後方的代碼,我們看台灣的部分注音是用0x00030404,若要用筆畫的話,就要將代碼改為0x00000404。
另外簡中的拼音、香港的發音等都有在這裡頭支援。
下面是實際的排序畫面
依照注音排序的結果
依照筆畫排序的結果
留言
張貼留言