Console
Console пишет через
Write
и
WriteLine,
читает через
ReadLine.
Потоки
Out,
In
и
Error
можно подменить для проверки текста.
Синтаксис
Console.WriteLine(text);
string line = Console.ReadLine();
Пример
Давайте перехватить вывод
WriteLine в буфер:
using System;
using System.IO;
class Program
{
static void Main()
{
TextWriter saved = Console.Out;
var buffer = new StringWriter();
buffer.NewLine = "\n";
Console.SetOut(buffer);
try
{
Console.WriteLine("abcde");
string res = buffer.ToString();
Console.SetOut(saved);
Console.WriteLine(res);
}
finally
{
Console.SetOut(saved);
}
}
}
Результат выполнения кода:
"abcde\n"
Пример
Давайте вывести целое число без дробной части:
using System;
using System.IO;
class Program
{
static void Main()
{
TextWriter saved = Console.Out;
var buffer = new StringWriter();
buffer.NewLine = "\n";
Console.SetOut(buffer);
try
{
Console.Write(12345);
string res = buffer.ToString();
Console.SetOut(saved);
Console.WriteLine(res);
}
finally
{
Console.SetOut(saved);
}
}
}
Результат выполнения кода:
"12345"
Пример
Давайте прочитать строку из подменённого ввода:
using System;
using System.IO;
class Program
{
static void Main()
{
TextReader savedIn = Console.In;
Console.SetIn(new StringReader("abcde"));
try
{
string res = Console.ReadLine();
Console.WriteLine(res);
}
finally
{
Console.SetIn(savedIn);
}
}
}
Результат выполнения кода:
"abcde"