Best way to handle data for several options C# : <p>My program workflow:</p>

<p>1) Show menu</p>

<p>2) Catch option by switch</p>

<p>2.1)Add float to a list </p>

<p>2.2)Increment int1</p>

<p>2.3)Increment int2</p>

<p>2.4)Show inputs</p>

<p>Now I wanna to add a generator which will print in console how my fiber track looks like. For ex:</p>

<p>1) Added a section of 20km lenght</p>

<p>2) Added a weld in latest secion</p>

<p>3) Added a regenerator</p>

<p>4) Added connector</p>

<p>5) Added section of 10km lenght</p>

<p>And I want to get in my console:</p>

<blockquote>
  <p>This is how your track looks like:
  [Transmitter]-> [--20km track--] -> [Weld] -> [Regenerator] -> [Connector] > -> [--10km track--]</p>
</blockquote>

<p>First question is what kind of List should I create to handle my track design? I tought only to make a integer list, and make a encoding method to convert for example 1 to section 2 for weld 3 for connector etc.</p>

<p>Any suggestions would be nice! Thank you for your time and patience.</p>

<pre><code>public class Program
{

    public int WeldCount;
    public int ConnectroCount;
    public List&lt;float&gt; section = new List&lt;float&gt;();
    //public List&lt;&gt; TrackElements = new List&lt;&gt;();

    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();




    }





}
</code></pre>
