C# - 如何按字母顺序对文字UserValue进行排序和排列

时间:2017-08-31 10:31:37

标签: c# string format alphabetical sortedlist

快速概述:在IT部门工作,目前了解软件开发,我的安置经理为我提供了一些“基本”(考虑到我的编码知识过于困难)的问题,以便找到解决方案。

设置问题:编写一个输入三个字符的控制台应用程序,然后按字母顺序写出。该计划将持续到不再需要为止。

安置经理帮助说明:要求用户输入3个字母的字符串 - 将输入存储为字符串 -  将字符串转换为小写 - 创建3个Char变量并拆分字符串,以便字符串中的每个字符都在其自己的char变量中 - 获取存储在int变量中的三个不同Char变量的ascii值 - 当你有ascii值时,你应该能够比较它们,然后按顺序输出它们。

我目前的代码:

static void Main(string[] args)
    {
        string input; 

        bool displayMenu = true;
        while (displayMenu == true)
        {
            displayMenu = MainMenu();
        }
    }

    private static bool MainMenu()
    {
        Console.Clear();
        Console.WriteLine("Choose an Option: ");
        Console.WriteLine("1) Alphabetical Organiser");
        Console.WriteLine("2) Exit Application");
        string result = Console.ReadLine();

        if (result == "1")
        {
            alphaOrganiser();
            return true;
        }
        else if (result == "2") 
        {
            Console.Clear();
            Console.WriteLine("GoodBye!");
            Console.ReadLine();
            return false;
        }
        else
        {
            return true;
        }
    }
    public static void alphaOrganiser()
    {
        Console.Clear();
        Console.WriteLine("Alphabbetical Organiser!");
        Console.WriteLine("Please enter 3 alphabetical characters into the console : ");
        string input = Console.ReadLine();
        Console.Write("You inputed : " + input);

        Console.ReadKey();

当前问题:我可以让控制台显示userValue(输入),但是如何让控制台读取这些数据,然后对其进行排序(我已经尝试过命令sortedList但似乎无法正确格式化?)和然后将操纵的代码呈现给用户?

任何反馈都将受到赞赏,任何学习机会,链接或进一步的解释细节也会有所帮助。

提前感谢所有回复。

1 个答案:

答案 0 :(得分:1)

有很多方法可以做 迭代输入字符串并直接使用字符可以获得更好的性能,但这个例子更简洁:

替换你的行:

    string input = Console.ReadLine();
    Console.Write("You inputed : " + input);

通过

    string input = Console.ReadLine();
    List<char> sorted = new List<char>(input.ToCharArray());
    sorted.Sort();
    Console.WriteLine(String.Join("", sorted));