我有一个包含多个字符串的数组。如何按字母顺序对字符串进行排序?
看起来你只需要使用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还提供了一个谓词重载。您可以在那里指定排序行为:
Array.Sort(myArray, (p, q) => p[0].CompareTo(q[0]));
string[] myArray = ...;
string[] sorted = myArray.OrderBy(o => o).ToArray();
string[,] myArray = ...;
string[,] sorted = myArray.OrderBy(o => o[ROWINDEX]).ThenBy(t => t[ROWINDEX]).ToArray();