簡體   English   中英

如何按字母排序字符串數組?

[英]how to sort a string array by alphabet?

我有很多字符串的數組。 如何按字母順序對字符串進行排序?

聽起來你只想使用Array.Sort方法。

Array.Sort(myArray)

有許多重載,其中一些采用自定義比較器(類或委托),但默認情況下應按字母順序(升序)進行排序,如您所願。

class Program    
{
    static void Main()
    {
        string[] a = new string[]
        {
            "Egyptian",
            "Indian",
            "American",
            "Chinese",
            "Filipino",
        };
        Array.Sort(a);
        foreach (string s in a)
        {
            Console.WriteLine(s);
        }
    }
}

Array.Sort還提供Predicate-Overload。 您可以在那里指定排序行為:

Array.Sort(myArray, (p, q) => p[0].CompareTo(q[0]));

您還可以使用LINQ對數組進行排序:

string[] myArray = ...;
string[] sorted = myArray.OrderBy(o => o).ToArray();

LINQ還授權您對2D數組進行排序:

string[,] myArray = ...;
string[,] sorted = myArray.OrderBy(o => o[ROWINDEX]).ThenBy(t => t[ROWINDEX]).ToArray();

LINQ的默認排序行為也按字母順序排列。 您可以使用OrderByDescending()/ ThenByDescending()來反轉此操作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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