【问题标题】:C# - How to sort and arrange literal UserValue in alphabetical orderC# - 如何按字母顺序对文字 UserValue 进行排序和排列
【发布时间】:2017-08-31 10:31:37
【问题描述】:

快速概述:在 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 但似乎无法正确格式化它?)和然后将操纵的代码呈现给用户?

我们将不胜感激任何反馈,任何学习机会、链接或进一步的解释细节也会有所帮助。

提前感谢所有回复。

【问题讨论】:

  • 注意:要更改 case 或对文本进行排序,您需要语言环境/文化。通常,您可能希望使用CurrentCulture。但是,由于您想将字符转换为代码点并按数字排序,所以这是一种字典排序——对机器值字符串有用,但对人值文本无效。

标签: c# string format alphabetical sortedlist


【解决方案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));

【讨论】:

    猜你喜欢
    • 2013-05-02
    • 2014-02-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多