[C#]中文陣列排序(文化特性排序 for 各國語系)

之前有個地方在討論中文要怎麼排序,通常台灣很像都是ㄅㄆㄇㄈ或筆畫。所以今天晚上努力地找了一下,並把他實現,所以在此做個紀錄。

其實並不難,因為微軟都已經幫忙做好了
其中CultureInfo是代入微軟所提供之方法,可參考下列網址:點我網址



主要程式碼如下:

//注音排序
            string[] StrSort;
            StrSort = InputBox.Text.Split(',');
            List itemList = 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。
另外簡中的拼音、香港的發音等都有在這裡頭支援。

下面是實際的排序畫面
依照注音排序的結果

依照筆畫排序的結果



留言

這個網誌中的熱門文章

[Excel]將圖片放置於儲存格中

[軟體]AUTOCAD關於開啟圖面時,字型找不到,而要手動指定成 chineset.shx 字型檔問題

[MS SQL]查詢資料庫中每個資料表之列數與資料表大小(容量)資訊。Get size of all tables in database