[英]c# case sensitive ASCII sort?
我需要對一個字符串Array進行排序,它必須按ascii排序。
如果使用Array.Sort(myArray),它將無法正常工作。
例如:myArray是(“aAzxxxx”,“aabxxxx”)如果使用Array.Sort(myArray),結果將是
但如果ascii排序,因為A <a,(大寫A是65,a是97,所以A <a)結果將是
這是我需要的結果。 關於如何ASCII排序字符串數組的任何想法?
謝謝
如果我理解正確,你想進行順序比較。
Array.Sort(myArray, StringComparer.Ordinal);
如果你想通過char-code進行詞法排序,你可以提供StringComparer.Ordinal
作為Array.Sort
的比較器。
Array.Sort(myArray,StringComparer.Ordinal);
Ordinal屬性返回的StringComparer執行與語言無關的簡單字節比較。 在比較以編程方式生成的字符串或比較區分大小寫的資源(如密碼)時,這是最合適的。
StringComparer
類包含幾個不同的比較器,您可以根據所需的文化或區分大小寫來選擇它們。
使用Sort
的重載,它需要一個合適的IComparer<T>
:
Array.Sort(myArray, StringComparer.InvariantCulture);
這種情況區分大小寫 。
如果要查找按ASCII值排序,請使用StringComparer.Ordinal
:
Array.Sort(myArray, StringComparer.Ordinal);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.