Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Industrial programming >> Язык C

Основы ввода-вывода в C#: Console.WriteLine, ReadLine и форматирование

Основы ввода-вывода в C#

Это руководство проведет вас через базовые техники ввода и вывода в C#, показывая, как читать пользовательские данные и выводить результаты.

Вывод в C#

Для вывода данных в консоль C# предлагает два основных метода:

System.Console.WriteLine()
System.Console.Write()

Здесь System — пространство имен, Console — класс, а WriteLine и Write — его методы.

Пример 1: Печать строки с WriteLine()

using System;
namespace Sample {
    class Test {
        public static void Main(string[] args) {
            Console.WriteLine("C# is cool");
        }
    }
}

Результат:

C# is cool

Разница между WriteLine() и Write()

WriteLine() выводит текст и переходит на новую строку, а Write() печатает без переноса строки.

Пример 2: Использование WriteLine() и Write()

using System;
namespace Sample {
    class Test {
        public static void Main(string[] args) {
            Console.WriteLine("Prints on ");
            Console.WriteLine("New line");
            Console.Write("Prints on ");
            Console.Write("Same line");
        }
    }
}

Вывод:

Prints on New line Prints on Same line

Вывод переменных и литералов

Оба метода могут отображать переменные и литералы.

Пример 3: Переменные и литералы

using System;
namespace Sample {
    class Test {
        public static void Main(string[] args) {
            int value = 10;
            Console.WriteLine(value);
            Console.WriteLine(50.05);
        }
    }
}

Результат:

10 50.05

Конкатенация строк оператором +

using System;
namespace Sample {
    class Test {
        public static void Main(string[] args) {
            int val = 55;
            Console.WriteLine("Hello " + "World");
            Console.WriteLine("Value = " + val);
        }
    }
}

Результат:

Hello World Value = 55

Форматированные строки — чище и надежнее

Вместо конкатенации используйте плейсхолдеры:

Console.WriteLine("Value = {0}", val);

{0} — плейсхолдер для val. Несколько переменных — дополнительные плейсхолдеры.

Пример 5: Форматированный вывод

using System;
namespace Sample {
    class Test {
        public static void Main(string[] args) {
            int firstNumber = 5, secondNumber = 10, result;
            result = firstNumber + secondNumber;
            Console.WriteLine("{0} + {1} = {2}", firstNumber, secondNumber, result);
        }
    }
}

Вывод:

5 + 10 = 15

Этот способ читаемее и менее ошибочен. Подробнее о форматировании строк см. в документации.


Ввод в C#

Самый простой способ получить ввод — Console.ReadLine(). Также есть Read() и ReadKey().

Пример 6: Чтение строки от пользователя

using System;
namespace Sample {
    class Test {
        public static void Main(string[] args) {
            string testString;
            Console.Write("Enter a string - ");
            testString = Console.ReadLine();
            Console.WriteLine("You entered '{0}'", testString);
        }
    }
}

Вывод:

Enter a string - Hello World You entered 'Hello World'

ReadLine(), Read() и ReadKey()

Подробнее см. обсуждение на StackOverflow «Difference between Console.Read() and Console.ReadLine?»

Пример 7: Read() и ReadKey()

using System;
namespace Sample {
    class Test {
        public static void Main(string[] args) {
            int userInput;
            Console.WriteLine("Press any key to continue...");
            Console.ReadKey();
            Console.WriteLine();
            Console.Write("Input using Read() - ");
            userInput = Console.Read();
            Console.WriteLine("Ascii Value = {0}", userInput);
        }
    }
}

Вывод:

Press any key to continue... x Input using Read() - Learning C# Ascii Value = 76

ReadKey() сразу показывает клавишу, а Read() считывает строку, но возвращает ASCII только первого символа (76 для 'L').


Чтение числовых значений

Числа требуют преобразования. Класс Convert предоставляет удобные методы.

Пример 8: Преобразование ввода в числа

using System;
namespace UserInput {
    class MyClass {
        public static void Main(string[] args) {
            string userInput;
            int intVal;
            double doubleVal;
            Console.Write("Enter integer value: ");
            userInput = Console.ReadLine();
            intVal = Convert.ToInt32(userInput);
            Console.WriteLine("You entered {0}", intVal);
            Console.Write("Enter double value: ");
            userInput = Console.ReadLine();
            doubleVal = Convert.ToDouble(userInput);
            Console.WriteLine("You entered {0}", doubleVal);
        }
    }
}

Результат:

Enter integer value: 101 You entered 101 Enter double value: 59.412 You entered 59.412

Методы ToInt32() и ToDouble() преобразуют строку в число. Полный список методов конвертации в документации .NET.

Альтернативные стратегии ввода чисел см. в документации Microsoft.

Язык C

  1. Расширение облачных горизонтов: новые зоны, контейнеры и мультиоблачные стратегии
  2. Почему Cloud Linux бустит безопасность, стабильность и производительность в shared hosting
  3. Освоение ввода и вывода в C++: практическое руководство
  4. Ввод-вывод в C: scanf() и printf() — подробное руководство
  5. Мастерство ввода-вывода и импорта модулей в Python: Практическое руководство
  6. Ввод и вывод в Java: печать, чтение и форматирование данных
  7. Mailboxes в Nucleus SE: Практическое руководство по конфигурации и использованию
  8. Семафоры в Nucleus SE: Обзор, конфигурация и основы API
  9. Queues в Nucleus SE: Введение и основные Service Calls
  10. Создание удалённого датчика температуры на Raspberry Pi и Python — пошаговое руководство