C# Hoe kan ik stream omleiden naar de console Out?

Ik heb veel voorbeelden gevonden om console-uitvoer om te leiden naar een bestand. Ik heb echter een tegenovergestelde oplossing nodig – ik heb StreamWriter die ik in de console-uitvoer wil laten zien zodra ik sw.WriteLine("text");

doe


Antwoord 1, autoriteit 100%

Verwijs de stream gewoon naar de standaarduitvoer:

sw = new StreamWriter(Console.OpenStandardOutput());
sw.AutoFlush = true;
Console.SetOut(sw);

Antwoord 2, autoriteit 8%

Niet dat vorige antwoord niet correct is, maar aangezien ik niet genoeg reputatieniveau heb om commentaar toe te voegen, voeg ik gewoon een ander antwoord toe:

Als je Stream ooit zou gebruiken om naar standaarduitvoer te verwijzen, zoals John voorstelde met het gebruik van de instructie, moet je niet vergeten console Stream later opnieuw te openen, zoals uitgelegd in https://docs.microsoft.com/en-us/dotnet/api/system.console. setout?view=netframework-4.7.2

using (sw = new StreamWriter(Console.OpenStandardOutput())
{
    sw.AutoFlush = true;
    Console.SetOut(sw);
    ...
}
StreamWriter standardOutput = new StreamWriter(Console.OpenStandardOutput());
standardOutput.AutoFlush = true;
Console.SetOut(standardOutput);

Other episodes