1) Вам не нужно выбирать поток для клавиатуры. Класс Console предоставляет его как TextReader
.
TextReader
это не поток, а декоратор потока.
2) У нас разные потоки для разных медиа. И они только о байтах (не «в конце концов»).
Кроме того, мы используем классы TextReader, BinaryReader и Serialization для согласованной обработки небайтных данных независимо от среды.