我有一個問題,按字母順序顯示名稱,反之亦然。當我使用Array.Sort()時,它首先顯示最後一個條目,然後按字母順序排序。任何幫助,建議將不勝感激。下面是我的代碼:使用Array.Sort()和Array.Reverse()排序陣列升序和降序
static void Main(string[] args)
{
string [] lastName = new string [100];
string inValue = "", moreData = "";
int nameCnt = 0;
while (moreData != "N")
{
lastName[nameCnt] = Convert.ToString(inValue);
nameCnt++;
Console.Write("Enter Last Name: ");
inValue = Console.ReadLine();
Console.Write("Keep going Y/N? ");
moreData = Console.ReadLine();
moreData = moreData.ToUpper();
}
Console.WriteLine();
Console.WriteLine(nameCnt + " Last Name(s) Entered");
Console.WriteLine();
Console.WriteLine("Names in Ascending Order\n");
Array.Sort(lastName);
foreach (string name in lastName)
{
lastName[nameCnt] = Convert.ToString(inValue);
Console.Write(name);
}
Console.WriteLine();
Console.WriteLine("Names in Ascending Order\n");
Array.Reverse(lastName);
foreach (string name in lastName)
{
lastName[nameCnt] = Convert.ToString(inValue);
Console.Write(name);
}
Console.ReadLine();
}
什麼目的,可以使用'lastName的[N ameCnt] = Convert.ToString(inValue);'如果該變量永遠不會在您的foreach中更改它的值 –