开发者

how to sort a string array by alphabet?

I've got a a开发者_如何学编程rray of many strings. How can I sort the strings by alphabet?


Sounds like you just want to use the Array.Sort method.

Array.Sort(myArray)

There are many overloads, some which take custom comparers (classes or delegates), but the default one should do the sorting alphabetically (ascending) as you seem to want.


Array.Sort also provides a Predicate-Overload. You can specify your sorting-behaviour there:

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

You can also use LINQ to Sort your array:

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

LINQ also empoweres you to sort a 2D-Array:

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

The default sorting-behaviour of LINQ is also alphabetically. You can reverse this by using OrderByDescending() / ThenByDescending() instead.


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);
        }
    }
}
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜