При работе с языком программирования C# разработчикам часто приходится выводить информацию на консоль. Для этой цели обычно используются два метода: Console.WriteLine и Console.Write. Хотя оба метода достигают одной и той же цели, они различаются по своему поведению и использованию. В этой статье мы рассмотрим различия между Console.WriteLine и Console.Write и приведем примеры кода, иллюстрирующие их использование.
- Console.WriteLine:
Метод Console.WriteLine используется для записи на консоль указанной строки, за которой следует признак конца строки. Он автоматически добавляет символ новой строки («\n») после предоставленной строки. Вот пример:
Console.WriteLine("Hello, World!");
Выход:
Hello, World!
- Console.Write:
С другой стороны, метод Console.Write записывает указанную строку в консоль без добавления признака завершения строки. Вот пример:
Console.Write("Hello, ");
Console.Write("World!");
Выход:
Hello, World!
- Использование escape-последовательностей.
И Console.WriteLine, и Console.Write можно комбинировать с escape-последовательностями для форматирования вывода. Например, escape-последовательность «\t» создает пространство табуляции, а «\n» — новую строку. Вот пример:
Console.WriteLine("Name\tAge");
Console.WriteLine("John\t25");
Console.WriteLine("Alice\t30");
Выход:
Name Age
John 25
Alice 30
- Форматирование числовых значений.
Console.WriteLine и Console.Write могут форматировать числовые значения с использованием составного форматирования или строковой интерполяции. Вот пример использования составного форматирования:
int age = 25;
double height = 1.75;
Console.WriteLine("Age: {0}, Height: {1:F2}", age, height);
Выход:
Age: 25, Height: 1.75
- Перенаправление вывода консоли.
Помимо записи в консоль, вы можете перенаправить вывод в файл с помощью метода Console.SetOut. Это позволяет вам сохранить вывод консоли для дальнейшего использования. Вот пример:
using System;
using System.IO;
string filePath = "output.txt";
FileStream fileStream = new FileStream(filePath, FileMode.Create);
StreamWriter streamWriter = new StreamWriter(fileStream);
Console.SetOut(streamWriter);
Console.WriteLine("This will be written to the file.");
streamWriter.Close();
fileStream.Close();