AYUDA .NET

Cómo utilizar eficazmente la línea de impresión de C#

Publicado en 3 de abril, 2024
Compartir:

La impresión de líneas en C# es un aspecto fundamental de las aplicaciones de consola, y consiste en mostrar texto o valores especificados en la pantalla de la consola. Tanto si trabaja con el flujo de salida estándar como si formatea cadenas, comprender cómoImprimir líneas eficiente es crucial en las aplicaciones de consola de C#.

En este artículo, exploraremos varios métodos y técnicas relacionados con la impresión de líneas en C#.

Conceptos básicos de la línea de impresión

En C#, imprimir una línea a menudo implica utilizar el método Console.WriteLine. Empecemos con un ejemplo sencillo:

using System;
class Program {
    public static void Main() {
        Console.WriteLine("Hello, C# Print Line!");
    }
}
using System;
class Program {
    public static void Main() {
        Console.WriteLine("Hello, C# Print Line!");
    }
}
Imports System
Friend Class Program
	Public Shared Sub Main()
		Console.WriteLine("Hello, C# Print Line!")
	End Sub
End Class
VB   C#

En el código anterior, la sentencia Console.WriteLine muestra el valor de la cadena especificada(" Hola, línea de impresión C#!") seguido de una nueva línea. Esto se consigue mediante el método WriteLine, que añade un terminador de línea al final de la salida.

Terminales de línea

Un terminador de línea es un carácter o secuencia especial que indica el final de una línea. Los dos terminadores de línea más comunes son el retorno de carro('\r') y avance de línea('\n'). En C#, el método Console.WriteLine se encarga de utilizar el terminador de línea apropiado según el sistema operativo.

public static void Main() {
    Console.WriteLine("This is on the first line.");
    Console.WriteLine("This is on the second line.");
}
public static void Main() {
    Console.WriteLine("This is on the first line.");
    Console.WriteLine("This is on the second line.");
}
Public Shared Sub Main()
	Console.WriteLine("This is on the first line.")
	Console.WriteLine("This is on the second line.")
End Sub
VB   C#

En el ejemplo anterior, después de la ejecución del programa, cada Console.WriteLine produce una nueva línea en la ventana de la consola de C#, dando como resultado las dos líneas especificadas.

Línea de impresión en C# (Cómo funciona para desarrolladores): Figura 1 - Salida de la consola del código anterior

Especificación de terminadores de línea

Si necesita controlar el terminador de línea explícitamente, puede utilizar el método Console.Write y añadir el terminador de línea deseado manualmente:

public static void Main() {
    Console.Write("This is on the first line.");
    Console.Write('\r'); // Carriage return
    Console.Write("This is on the same line but very far left position.");
}
public static void Main() {
    Console.Write("This is on the first line.");
    Console.Write('\r'); // Carriage return
    Console.Write("This is on the same line but very far left position.");
}
Imports Microsoft.VisualBasic

Public Shared Sub Main()
	Console.Write("This is on the first line.")
	Console.Write(ControlChars.Cr) ' Carriage return
	Console.Write("This is on the same line but very far left position.")
End Sub
VB   C#

En este ejemplo, el retorno de carro('\r') se utiliza para situar el cursor al principio de la línea, con lo que la segunda parte del texto aparece en la posición más a la izquierda, es decir, sobrescribiendo la salida anterior.

Línea de impresión en C# (Cómo funciona para desarrolladores): Figura 2 - Salida de la consola mostrando \r

Impresión de varias líneas

Para imprimir varias líneas sin repetir la sentencia Console.WriteLine, puede utilizar una lista de parámetros de longitud variable:

public static void Main() {
    PrintLines("Line 1", "Line 2", "Line 3");
}
static void PrintLines(params string [] lines) {
    foreach (var line in lines) {
        Console.WriteLine(line);
    }
}
public static void Main() {
    PrintLines("Line 1", "Line 2", "Line 3");
}
static void PrintLines(params string [] lines) {
    foreach (var line in lines) {
        Console.WriteLine(line);
    }
}
Public Shared Sub Main()
	PrintLines("Line 1", "Line 2", "Line 3")
End Sub
Shared Sub PrintLines(ParamArray ByVal lines() As String)
	For Each line In lines
		Console.WriteLine(line)
	Next line
End Sub
VB   C#

El método PrintLines que hemos creado toma una matriz especificada de parámetros de cadena, permitiéndole pasar cualquier número de nuevas líneas para imprimir un valor de cadena especificado:

C# Imprimir Línea(Cómo funciona para desarrolladores): Figura 3 - Salida de la consola utilizando el método PrintLines

Formatear la salida

El formateo de la salida es crucial, especialmente cuando se trabaja con diferentes tipos de datos. El método Console.WriteLine proporciona varias sobrecargas que aceptan un objeto especificado e información de formato:

public static void Main() {
    int answer = 42;
    string name = "John Doe";
    Console.WriteLine("The answer is {0}.", answer);
    Console.WriteLine("Hello, {0}!", name);
}
public static void Main() {
    int answer = 42;
    string name = "John Doe";
    Console.WriteLine("The answer is {0}.", answer);
    Console.WriteLine("Hello, {0}!", name);
}
Public Shared Sub Main()
	Dim answer As Integer = 42
	Dim name As String = "John Doe"
	Console.WriteLine("The answer is {0}.", answer)
	Console.WriteLine("Hello, {0}!", name)
End Sub
VB   C#

En este ejemplo, {0} es un marcador de posición para los objetos especificados(en este caso, respuesta y nombre.), lo que le permite incluir datos variables en la salida e imprimir la información de formato especificada.

Línea de impresión en C# (Cómo funciona para desarrolladores): Figura 4 - Salida de la consola mostrando el formato

Saltos de línea y caracteres Unicode

Para saltos de línea especiales o caracteres Unicode, puede utilizar secuencias de escape. También puede imprimir cualquier literal ASCII o código HTML válido utilizando Console.WriteLine. Por ejemplo, para incluir un salto de línea en la misma cadena:

public static void Main() {
    Console.WriteLine("This is line 1.\nThis is line 2.");
    Console.WriteLine("Line 1\u000Aline 2");
}
public static void Main() {
    Console.WriteLine("This is line 1.\nThis is line 2.");
    Console.WriteLine("Line 1\u000Aline 2");
}
Imports Microsoft.VisualBasic

Public Shared Sub Main()
	Console.WriteLine("This is line 1." & vbLf & "This is line 2.")
	Console.WriteLine("Line 1" & vbLf & "line 2")
End Sub
VB   C#

Aquí, \n y \u000A, el carácter Unicode especificado, ambos representan un carácter de avance de línea, haciendo que el texto se mueva a la siguiente línea en cada caso.

C# Imprimir línea (Cómo funciona para desarrolladores): Figura 5 - Salida de la consola mostrando caracteres de salto de línea

Valores booleanos aleatorios

El siguiente código utiliza interpolación de cadenas en el método Console.WriteLine. La interpolación de cadenas es una característica introducida en C# 6.0 que simplifica el proceso de incrustar expresiones o variables dentro de literales de cadena y mostrar correctamente el valor booleano especificado en la aplicación Consola.

Random rnd = new Random();
for (int i = 1; i <= 5; i++)
{ 
    bool isTrue = rnd.Next(0, 2) == 1;
    Console.WriteLine($"True or False: {isTrue}");
}
Random rnd = new Random();
for (int i = 1; i <= 5; i++)
{ 
    bool isTrue = rnd.Next(0, 2) == 1;
    Console.WriteLine($"True or False: {isTrue}");
}
Dim rnd As New Random()
For i As Integer = 1 To 5
	Dim isTrue As Boolean = rnd.Next(0, 2) = 1
	Console.WriteLine($"True or False: {isTrue}")
Next i
VB   C#

Los datos especificados devueltos por la expresión se imprimen en la aplicación de consola como se muestra a continuación:

Línea de impresión en C# (Cómo funciona para desarrolladores): Figura 6 - Salida de consola mostrando valores booleanos mediante interpolación de cadenas

Impresión de diferentes formatos numéricos

La impresión de diversos formatos numéricos es un requisito habitual en programación, especialmente cuando se trabaja con números de coma flotante de doble precisión y coma flotante de precisión simple. De nuevo, las sentencias Console.WriteLine pueden ser utilizadas para imprimirlas con precisión y facilidad.

Punto flotante de doble precisión

double doubleValue = 0.123456789;
Console.WriteLine($"Double Precision: {doubleValue:F7}");
double doubleValue = 0.123456789;
Console.WriteLine($"Double Precision: {doubleValue:F7}");
Dim doubleValue As Double = 0.123456789
Console.WriteLine($"Double Precision: {doubleValue:F7}")
VB   C#

En este ejemplo, F7 especifica que el valor doble debe formatearse con 7 dígitos después del punto decimal. Puedes ajustar el número que aparece después de "F" para controlar la precisión.

Cadena existente

string existingString = "Hello, C#!";
Console.WriteLine($"Existing String: {existingString}");
string existingString = "Hello, C#!";
Console.WriteLine($"Existing String: {existingString}");
Dim existingString As String = "Hello, C#!"
Console.WriteLine($"Existing String: {existingString}")
VB   C#

Imprimir una cadena existente es sencillo. Simplemente use Console.WriteLine e incluya la cadena que desea mostrar.

Punto flotante de precisión única

float singleValue = 0.123456789f;
Console.WriteLine($"Single Precision: {singleValue:F7}");
float singleValue = 0.123456789f;
Console.WriteLine($"Single Precision: {singleValue:F7}");
Dim singleValue As Single = 0.123456789F
Console.WriteLine($"Single Precision: {singleValue:F7}")
VB   C#

De forma similar a la doble precisión, el especificador de formato F7 se utiliza aquí para el punto flotante de precisión simple. Puede ajustar el número después de "F" en función de sus requisitos de precisión.

Desbloqueo de potentes funciones de impresión con IronPrint en C#

La impresión de documentos es un aspecto fundamental de muchas aplicaciones, y cuando se trata de aprovechar todo el potencial de la impresión en C#, IronPrint destaca como una biblioteca versátil y rica en funciones.

Introducción a IronPrint

IronPrintdesarrollado por Iron Software, es una biblioteca de impresión avanzada diseñada para el ecosistema .NET, incluido C#. Tanto si está trabajando en una aplicación de escritorio, móvil o web, IronPrint se integra a la perfección con sus proyectos C#, proporcionando un completo conjunto de herramientas para gestionar diversas necesidades de impresión.

Línea de impresión en C# (Cómo funciona para desarrolladores): Figura 7 - Página web de IronPrint

Características principales de IronPrint

1. Compatibilidad multiplataforma:

IronPrint es compatible con varios sistemas operativos, incluidos Windows, macOS, Android e iOS. Esta compatibilidad multiplataforma garantiza que sus soluciones de impresión puedan llegar a usuarios de distintos entornos.

2. Soporte de versiones .NET:

Compatible con .NET Framework 4.6.2 y superiores, .NET Core 3.1+ y las últimas versiones de .NET, IronPrint cubre una amplia gama de entornos .NET.

3. Apoyo al tipo de proyecto:

IronPrint atiende a diferentes tipos de proyectos, incluidos los móviles(Xamarin y MAUI)Escritorio(WPF Y MAUI)y Consola(Aplicación y biblioteca). Esta flexibilidad lo hace adecuado para diversas arquitecturas de aplicación.

4. Fácil instalación:

Empezar a utilizar IronPrint es muy fácil. Puede instalar rápidamente la biblioteca utilizando la consola del gestor de paquetes NuGet y ejecutando el comando Install-Package IronPrint.

Uso básico de IronPrint

He aquí un sencillo ejemplo que demuestra lo fácil que es utilizar IronPrint en una aplicación de consola C# paraImprime documentos:

using IronPrint;
class Program
{
    static void Main()
    {
    Console.WriteLine("Printing Started...");
        // Silent printing of a document
        Printer.Print("document.pdf");
        // Or display a print dialog
        Printer.ShowPrintDialog("document.pdf");
    Console.WriteLine("Printing Completed...");
    }
}
using IronPrint;
class Program
{
    static void Main()
    {
    Console.WriteLine("Printing Started...");
        // Silent printing of a document
        Printer.Print("document.pdf");
        // Or display a print dialog
        Printer.ShowPrintDialog("document.pdf");
    Console.WriteLine("Printing Completed...");
    }
}
Imports IronPrint
Friend Class Program
	Shared Sub Main()
	Console.WriteLine("Printing Started...")
		' Silent printing of a document
		Printer.Print("document.pdf")
		' Or display a print dialog
		Printer.ShowPrintDialog("document.pdf")
	Console.WriteLine("Printing Completed...")
	End Sub
End Class
VB   C#

La salida aquí muestra la impresión de un documento utilizando el método Print y ShowPrintDialog. Si la impresora física no está instalada, se utiliza la impresora predeterminada para imprimir.

Línea de impresión en C# (Cómo funciona para desarrolladores): Figura 8 - Ventana emergente de impresión iniciada y ventana emergente de guardar salida de impresión

Funciones de impresión avanzadas

IronPrint va más allá de las tareas básicas de impresión y ofrece funciones avanzadas como:

  • Impresión silenciosa: Imprime documentos sin mostrar un diálogo utilizando Printer.PrintAsync.
  • Ajustes de impresión personalizados: Ajuste los parámetros de impresión con la**Configuración de impresión clase.
  • Impresión asíncrona: Ejecuta operaciones de impresión de forma asíncrona para evitar el bloqueo del hilo principal.
  • Seleccione Impresora: EnGetPrinterNames le permite elegir entre las impresoras disponibles, lo que le da un mayor control sobre el proceso de impresión.

Ajustes específicos de la plataforma

IronPrint le permite adaptar sus soluciones de impresión a diferentes plataformas. Por ejemplo, cuando trabaje con proyectos .NET Core dirigidos a plataformas específicas como Windows, Android, iOS o macOS, puede ajustar la propiedad TargetFrameworks en su archivo de proyecto en consecuencia.

Para obtener información más detallada sobre IronPrint, visite este enlacedocumentación y**Referencia API páginas.

Conclusión

Imprimir líneas en C# es una habilidad fundamental para el desarrollo de aplicaciones de consola. Ya se trate de mostrar texto, dar formato a la salida o controlar los terminadores de línea, la comprensión de las distintas técnicas disponibles mejorará su capacidad para crear programas de consola eficaces y legibles. Explore los diversos métodos proporcionados por la clase Console, experimente con las opciones de formato y aproveche la flexibilidad de C# para producir una salida de consola clara y bien estructurada en sus aplicaciones.

IronPrint emerge como un poderoso aliado para los desarrolladores de C# que buscan capacidades de impresión robustas y flexibles. Gracias a su soporte multiplataforma, su compatibilidad con varias versiones de .NET y sus avanzadas funciones de impresión, IronPrint simplifica la implementación de soluciones de impresión en diversas aplicaciones C#. Tanto si desarrolla para escritorio, móvil o web, IronPrint le proporciona las herramientas que necesita para dar vida a sus requisitos de impresión en el mundo del desarrollo en C#.

IronPrint ofrece un**Prueba gratuita para uso comercial. Descargue la biblioteca deaquí y pruébalo.

SIGUIENTE >
Variable de impresión en C#: Simplifique su código

¿Listo para empezar? Versión: 2024.12 acaba de salir

Descarga gratuita de NuGet Descargas totales: 12,281 Ver licencias >