所以我的代码遇到了一些麻烦。对于初学者,我有这个问题,那就是输出所有数组。请注意,由于我大学的学习观,我只编码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/

10-11 07:28