处理多个选项 C# 的数据的最佳方法

本文关键字:数据 方法 最佳 选项 处理 | 更新日期: 2023-09-27 18:31:16

我的程序工作流程:

1) 显示菜单

2) 通过开关捕获选项

2.1)将浮点数添加到列表

2.2)增量 int1

2.3)增量 int2

2.4)显示输入

现在我想添加一个生成器,它将在控制台中打印我的光纤轨道的外观。例如:

1)增加了一段20公里长的路段

2) 在最新部分添加了焊缝

3) 增加了一个再生器

4) 新增连接器

5)增加了10公里长的路段

我想进入我的控制台:

这是您的曲目的外观: [发射器]-> [--20公里轨道--

] -> [焊接] -> [再生器] -> [连接器]> -> [--10公里轨道--]

第一个问题是我应该创建什么样的列表来处理我的轨道设计?我只制作一个整数列表,并制作一种编码方法,将例如 1 转换为连接器等焊缝 3 的第 2 部分。

任何建议都会很好!感谢您的时间和耐心。

public class Program
{
    public int WeldCount;
    public int ConnectroCount;
    public List<float> section = new List<float>();
    //public List<> TrackElements = new List<>();
    public Program()
    {
        section.Add(0);
    }
    public void showResults()
    {
        float allSections = 0;
        foreach (float item in section)
        {
            allSections += item;
        }
        Console.Clear();
        Console.WriteLine("Weld count: {0}, connector count: {1}, sum of sections: {2}", WeldCount,ConnectroCount,allSections);
        Console.ReadKey();
    }

    public void finalConstruction()
    {


    }

    public static void mainMenu()
    {
        Console.Clear();
        Console.WriteLine("'n");
        Console.WriteLine("Add: 'n1. Section 'n2. Weld 'n3. Regenerator'n4. Show results");


    }

    public void menuChoose()
    {
        var key = Console.ReadKey();
        switch (key.Key)
        {
            case ConsoleKey.D1:
            case ConsoleKey.NumPad1:
                Console.Clear();
                Console.WriteLine("Give lenght:");
                float result;
                float.TryParse(Console.ReadLine(), out result);

                section.Add(result);

                mainMenu();
                menuChoose();
                break;
            case ConsoleKey.D2:
                WeldCount++;
                mainMenu();
                menuChoose();
                break;
            case ConsoleKey.D3:
                ConnectroCount++;
                mainMenu();
                menuChoose();
                break;
            case ConsoleKey.D4:
                showResults();
                mainMenu();
                menuChoose();
                break;


            default:
                Console.WriteLine("Coś ty odjebał");
                break;
        }
    }

    static void Main(string[] args)
    {

        Program program = new Program();
        mainMenu();
        program.menuChoose();


    }


}

处理多个选项 C# 的数据的最佳方法

创建一个List<string>。这样,您可以添加变送器,焊机和轨道,然后打印它。

如果您熟悉使用类,我会从创建一个 Track 类开始。拥有浮点数列表的问题在于,您无法确定它们的输入顺序,那么如何将特定长度映射到特定轨道?

这就是您的跟踪类可以非常简单:

public class Track
{
    public string Name;
    public float Length;
}

在主菜单中,您可以通过说以下内容添加新曲目:

Track t = new Track();
t.Name = "Welding";
t.Length = 4.5f;
trackElements.Add(t);

只需像这样显示它:

public void showResults()
{
    foreach(Track item in trackElements)
    {
        Console.WriteLine(item.Name + ": " + item.Length);
    }
    Console.WriteLine("Number of sections: " + trackElements.Count());
    Console.ReadKey();
}