我想實現http://www.davekoelle.com/alphanum.html在我的代碼做在開頭和結尾數字的字符串的一些自然排序。我的問題,沒有做過多的排序是我如何實現這個到我的對象結構。排序列表 - 找到解決方案,但不知道如何實現
我有一個
List<string[]> myStringArrays = new List<string[]>();
,我已經添加了此類型的數組的1000年:
"text", "text", "1, label:3", "","","", etc ...
"text", "text", "2, label:2", "","","", etc ...
"text", "text", "2, label:1", "","","", etc ...
"text", "text", "10, label:3", "","","", etc ...
編輯:(標籤總是在這個例子中 「標籤」)
並且我一直在用LINQ進行分類
myStringArrays = myStringArrays.OrderBy(m => m[2]).ToList();
,但正如你猜測的那樣,它排序爲alpha排序「1 ...」,「10 ...」等等。
我嘗試這樣的做法:
myStringArrays = myStringArrays.OrderBy(m => (m[2].Split(',')[0])).ThenBy(m => m[2].Split(':')[2]).ToList();
其作品,但如果我的第三根弦不符合特定格式失敗。這導致我(最終)我的問題 - 我將如何實現Alphanum.cs來解決這個問題?
不應該認爲是'.ThenBy(M => M [2] .Split( ':')[1] )'而不是'。ThenBy(m => m [2] .Split(':')[2])'? –
哦,對不起,忘了提「標籤」似乎總是一樣的。這是一個像「實驗」的標識符...所以我只需要在最後對數字進行排序。 – Sisyphus