我有一個字符串,簡化爲"12345"
它是排序的。字符串couild包含數字(0-9)或字母(a-z)。如果混合使用自然排序順序。我需要一種方法來驗證這是否屬實。檢查一個字符串是否排序
嘗試使用LINQ技術:
string items1 = "2349"; //sorted
string items2 = "2476"; //not sorted, 6<>7
bool sorted1 = Enumerable.SequenceEqual(items1.OrderBy(x => x), items1); //true
bool sorted2 = Enumerable.SequenceEqual(items2.OrderBy(x => x), items2); //false
但可能還按降序排序。
是否有更好的方法,然後
string items3 = "4321";
bool sorted3 = Enumerable.SequenceEqual(items3.OrderBy(x => x), items3) || Enumerable.SequenceEqual(items3.OrderByDescending(x => x), items3);
檢查一個字符串排序?也許有些內置解決方案?
http://stackoverflow.com/questions/6396378/c-sharp-linq-orderby-numbers-that-are-string-and-you-cannot-convert-them-to-int – Oluwafemi
如果字符串包含,該怎麼辦你的信?您剛剛向我們展示了最佳案例場景。如果字符不是英文字母(例如'-'或'?')? – user3185569
@ c0rd因此'123abc'和'abc123'和'ab12cd34'被認爲是分類的? – user3185569