Método Console.OpenStandardOutput() en C# con ejemplos

El método Console.OpenStandardOutput se usa para obtener el flujo de salida estándar. Hay dos sobrecargas del método OpenStandardOutput disponibles en C# que se enumeran a continuación:

  • Método OpenStandardOutput()
  • Método OpenStandardOutput(int32)

Método OpenStandardOutput()

Se utiliza para obtener el flujo de salida estándar.

Sintaxis: public static System.IO.Stream OpenStandardOutput();
Parámetros: Este método no acepta ningún parámetro.
Valor devuelto: este método devuelve el flujo de salida estándar.

Ejemplo:

// C# program to illustrate the
// Console.OpenStandardOutput()
// method
using System;
class GFG
{
    static void Main(string[] args)
    {
        // use of Console.OpenStandardOutput() method
        // to print the Geeksforgeeks
        // BeginWrite returns an IAsyncResult that represents
        //  the asynchronous write
        // int32 value like 071, 101 represents the 
        // ascii value of Geeksforgeeks
        if (System.Console.OpenStandardOutput().BeginWrite(new byte[] { 071, 101,101, 
            107,115, 102, 111, 114, 103, 101,101, 
            107,115, 0 },0, 
            13, null, null).AsyncWaitHandle.WaitOne()) 
        { 
        }
    }
}

Producción:

Geeksforgeeks

Método OpenStandardOutput(Int32)

Se utiliza para obtener el flujo de salida estándar, que se establece en un tamaño de búfer específico.

Sintaxis: public static System.IO.Stream OpenStandardOutput (int bufferSize);
Parámetros: este método acepta el siguiente parámetro.

  • bufferSize: este parámetro es el tamaño del búfer de flujo interno.

Valor devuelto: este método devuelve el flujo de salida estándar.
Excepción: este método dará ArgumentOutOfRangeException si el tamaño del búfer es menor o igual a cero.

Ejemplo: Reemplaza 2 caracteres de espacio consecutivos en una string con un carácter de tabulación.

// C# program to illustrate the 
// Console.OpenStandardOutput(int32) method
using System;
using System.IO;
   
public class GFG
{
    // size of tab
    private const int Val1 = 2;
       
    // working string
    private const string Val_Text = "Geeks for Geeks";
   
    // main function
    public static int Main(string[] args)
    {
        // check for the argument
        if (args.Length < 2)
        {
            Console.WriteLine(Val_Text);
            return 1;
        }
   
        try
        {
            // replacing space characters in a string with
            // a tab character
            using (var wrt1 = new StreamWriter(args[1]))
            {
                using (var rdr1 = new StreamReader(args[0]))
                {
                    Console.SetOut(wrt1);
                    Console.SetIn(rdr1);
                    string line;
                    while ((line = Console.ReadLine()) != null)
                    {
                        string newLine = line.Replace(("").PadRight(Val1, ' '), "\t");
                        Console.WriteLine(newLine);
                    }
                }
            }
        }
        catch(IOException e)
        {
            TextWriter errwrt = Console.Error;
            errwrt.WriteLine(e.Message);
            return 1;
        }
          
        // use of OpenStandardOutput() method
        var standardOutput = new StreamWriter(Console.OpenStandardOutput());
        standardOutput.AutoFlush = true;
          
        // set the output
        Console.SetOut(standardOutput);
        Console.WriteLine("OpenStandardOutput Example");
        return 0;
    }
}

Producción:

Geeks for Geeks

Publicación traducida automáticamente

Artículo escrito por SHUBHAMSINGH10 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *