簡體   English   中英

c#區分大小寫的ASCII排序?

[英]c# case sensitive ASCII sort?

我需要對一個字符串Array進行排序,它必須按ascii排序。

如果使用Array.Sort(myArray),它將無法正常工作。

例如:myArray是(“aAzxxxx”,“aabxxxx”)如果使用Array.Sort(myArray),結果將是

  1. aabxxxx
  2. aAzxxxx

但如果ascii排序,因為A <a,(大寫A是65,a是97,所以A <a)結果將是

  1. aAzxxxx
  2. aabxxxx

這是我需要的結果。 關於如何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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM