所以我的代码遇到了一些麻烦。对于初学者,我有这个问题,那就是输出所有数组。请注意,由于我大学的学习观,我只编码12天,而我的老师在某种程度上略过了C#编码的基础知识。而且我刚刚了解到,它不是按字母顺序排序的.....
static int inputPartInformation(string[] pl)
{
int i = 0;
do
{
Console.Write("Enter a Name: ");
//for the player
pl[i] = Console.ReadLine();
}
while (pl[i++].CompareTo("Q") != 0);
//if they write Q for the player it will quit
return i - 1;
}
static void Main(string[] args)
{
String[] players = new String[100];
Array.Sort(players);
// Sort array.
//defines players in this new instance
var count = inputPartInformation(players);
//for the portion of the code that handles the input
//calculates the average score
Console.WriteLine("List of People in Order: {0}, {1}, {2}, {3}, {4}, {5}, {6},", players);
Console.ReadLine();
}
}
}
最佳答案
您在名称填充之前进行排序;那什么也没做。
您正在使用参数引用{0}, {1},{2}
的固定多项目列表打印单个项目,依此类推;它无法正常工作,即使这样做也可能会将您的输出限制为前七个项目
您不知道要排序多少个项目。更改void inputPartInformation(string[] pl)
以返回count
(即i-1
),然后使用Array.Sort(players, 0, count);
将多个字符串转换为单个字符串的最简单方法是使用string.Join
:
Console.WriteLine("List of People in Order: {0}", string.Join(", ", players.Take(count)));
关于c# - 按字母顺序排列的数组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11979571/