[問題] 奇怪的字串排序結果
我發現一個非常奇怪的結果,請務必試試看以下程式
private void button1_Click(object sender, EventArgs e) {
string[] array = new string[] {
" ' ' | !' ' -",
" ' ' | !--. *",
" ' ' | !- --.",
" - - | !' ' -",
" ' ' | !' -.~",
" ' ' | !' -.~",
" - - | !' '~-",
" ' ' | !- -- ",
" ' ' | !---- ",
" ' ' | !' ' '",
" ' ' | !--. *"
};
File.WriteAllLines("OrderBy.txt", array.OrderBy(s => s).ToArray());
List<string> list = array.ToList();
list.Sort();
File.WriteAllLines("Sort.txt", list.ToArray());
}
照理來說應該會得到
' ' | !' ' '
' ' | !' ' -
' ' | !' -.~
' ' | !' -.~
' ' | !- --
' ' | !- --.
' ' | !----
' ' | !--. *
' ' | !--. *
- - | !' ' -
- - | !' '~-
明顯顯觀察就是單引號「'」會先出現在前幾行,完了最後兩行才輪到減號「-」出現
但是我執行上面程式結果 (檔案 OrderBy.txt 和 Sort.txt 兩者內容都一樣) 卻是
' ' | !----
' ' | !' ' '
' ' | !' ' -
' ' | !- --
- - | !' ' -
' ' | !- --.
' ' | !' -.~
' ' | !' -.~
- - | !' '~-
' ' | !--. *
' ' | !--. *
沒有照字母順序排列,也看不出有什麼規則
這是怎麼一回事呢?
那麼要怎樣寫才會得到上面「照理來說」的結果?
謝謝囉
環境 Visual Studio 2010 Professional 新增 WindowsFormApplication 平台 .Net 4.0
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 111.248.105.190
→
09/04 01:51, , 1F
09/04 01:51, 1F
→
09/04 01:57, , 2F
09/04 01:57, 2F
→
09/04 02:07, , 3F
09/04 02:07, 3F
→
09/04 02:08, , 4F
09/04 02:08, 4F
→
09/04 22:09, , 5F
09/04 22:09, 5F
→
09/04 22:10, , 6F
09/04 22:10, 6F
C_Sharp 近期熱門文章
PTT數位生活區 即時熱門文章