Console.WriteLine против Console.Write: изучение различных методов вывода в C#

При работе с языком программирования C# разработчикам часто приходится выводить информацию на консоль. Для этой цели обычно используются два метода: Console.WriteLine и Console.Write. Хотя оба метода достигают одной и той же цели, они различаются по своему поведению и использованию. В этой статье мы рассмотрим различия между Console.WriteLine и Console.Write и приведем примеры кода, иллюстрирующие их использование.

  1. Console.WriteLine:
    Метод Console.WriteLine используется для записи на консоль указанной строки, за которой следует признак конца строки. Он автоматически добавляет символ новой строки («\n») после предоставленной строки. Вот пример:
Console.WriteLine("Hello, World!");

Выход:

Hello, World!
  1. Console.Write:
    С другой стороны, метод Console.Write записывает указанную строку в консоль без добавления признака завершения строки. Вот пример:
Console.Write("Hello, ");
Console.Write("World!");

Выход:

Hello, World!
  1. Использование 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
  1. Форматирование числовых значений.
    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
  1. Перенаправление вывода консоли.
    Помимо записи в консоль, вы можете перенаправить вывод в файл с помощью метода 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();