Отображать textOut в нескольких столбцах, используя C# Console.WriteLine

Я создаю программу, которая будет конвертировать Фаренгейт в Цельсий и наоборот. Код работает, но как мне получить мой textOut для отображения в нескольких столбцах с помощью Console.WriteLine в C#?

Вот мой код (не включая Program.cs или же Input.cs)

namespace Assignment2
{
    class TemperatureConverter
    {

        public void Start()
        {

            int choice = 0;

            do
            {
                DisplayMenu();
                choice = Input.ReadIntegerConsole("           Your selection: ");

                switch (choice)
                {
                    case 1:
                        CalculateFahrenheitToCelsius();
                        break;
                    case 2:
                        CalculateCelsiusToFahrenheit();
                        break;
                    case 0: //end session (exit loop)
                        break;

                    default:
                        Console.WriteLine("Invalid option.  Choose between 0 and 2.");
                        break;
                }


            } while (choice != 0);
        }

        public void DisplayMenu()
        {
            Console.WriteLine();
            Console.WriteLine("*************************************************");
            Console.WriteLine("               MAIN MENU                     ");
            Console.WriteLine("*************************************************");
            Console.WriteLine("      Convert Fahrenheit to Celsius     : 1");
            Console.WriteLine("      Convert Celsius to Fahrenheit     : 2");
            Console.WriteLine("      Exit the Converter                : 0");
        }

        public void CalculateFahrenheitToCelsius()
        {
            double convertedValue = 0;
            string textOut = string.Empty;

            for (int i = 0; i <= 212; i += 4)
            {
                convertedValue = FahrenheitToCelsius(i);

                textOut = string.Format("{0,16:f2} F =  {1,6:f2} C", i, convertedValue);
                Console.WriteLine(textOut);
            }
            Console.WriteLine();


        }
        /// <summary>
        /// Calculate Celsius to Fahrenheit
        /// </summary>
        public void CalculateCelsiusToFahrenheit()
        {
            double convertedValue = 0;
            string textOut = string.Empty;

            for (int i = 0; i <= 100; i += 5)
            {
                convertedValue = CelsiusToFahrenheit(i);

                textOut = string.Format("{0,16:f2} C = {1,6:f2} F", i, convertedValue);
                Console.WriteLine(textOut);
            }
            Console.WriteLine();

        }


        private double FahrenheitToCelsius(double celsius)
        {
            double fahrenheit = (9.0 / 5.0) * celsius + 32.0;
            return fahrenheit;
        }

        private double CelsiusToFahrenheit(double fahrenheit)
        {

            double celsius = (5.0 / 9.0) * (fahrenheit - 32.0);
            return celsius;
        }
    }
}

1 ответ

Если все, что вы делаете, это пишете строки напрямую, вы можете создавать столбцы одним из двух способов:

А) Включить вкладки.

Console.Writeline("\tColumn1\tColumn2\tColumn3");

Б) Если ваша консоль использует моноширинный шрифт, вы можете считать символы. Но это будет боль в шее.

Другие вопросы по тегам