嘗試使用 LINQ 對每個元素以數值結尾的字串陣列進行排序時,了解預設排序行為至關重要。預設情況下,字串根據 ASCII 值按字典順序排序。因此,使用 OrderBy 排序會將字串視為一個整體,從而導致意外排序,其中字母字元優先。
要修正此問題並實現基於數值的精確排序,需要對數字進行填充排序鍵中的部分。透過建立使用正規表示式的自訂 PadNumbers 方法,數字部分將以零填充,以確保它們具有一致的長度以進行比較。這種填充技術使 LINQ 的 OrderBy 能夠正確比較數字部分,從而實現所需的排序。
在提供的程式碼範例中,PadNumbers 方法應用於 partNumbers 陣列中的每個字串,並使用填充值作為排序鍵。這種方法保持原始字串不變,但利用填充值進行精確的數值比較。
考慮數值超過定義的填充長度的情況非常重要。在這種情況下,預設的字典順序將應用於溢出部分,這可能無法提供所需的順序。
以上是如何使用 LINQ 按數字後綴對字母數字字串進行排序?的詳細內容。更多資訊請關注PHP中文網其他相關文章!