public static void SetIn(TextReader newIn) { CheckNonNull(newIn, nameof(newIn)); newIn = SyncTextReader.GetSynchronizedTextReader(newIn); lock (InternalSyncObject) { Volatile.Write(ref s_in, newIn); } }
internal static TextReader GetOrCreateReader() { Stream inputStream = OpenStandardInput(); return(SyncTextReader.GetSynchronizedTextReader(inputStream == Stream.Null ? StreamReader.Null : new StreamReader( stream: inputStream, encoding: InputEncoding, detectEncodingFromByteOrderMarks: false, bufferSize: DefaultConsoleBufferSize, leaveOpen: true))); }
private const int DefaultConsoleBufferSize = 256; // default size of buffer used in stream readers/writers internal static TextReader GetOrCreateReader() { if (Console.IsInputRedirected) { Stream inputStream = OpenStandardInput(); return(SyncTextReader.GetSynchronizedTextReader( inputStream == Stream.Null ? StreamReader.Null : new StreamReader( stream: inputStream, encoding: new ConsoleEncoding(Console.InputEncoding), // This ensures no prefix is written to the stream. detectEncodingFromByteOrderMarks: false, bufferSize: DefaultConsoleBufferSize, leaveOpen: true) )); } else { return(StdInReader); } }
public static void SetIn(TextReader newIn) { CheckNonNull(newIn, "newIn"); newIn = SyncTextReader.GetSynchronizedTextReader(newIn); lock (InternalSyncObject) { _in = newIn; } }