
C# Continue (Cómo Funciona para Desarrolladores)
Las declaraciones de control de flujo son cruciales en la programación, ya que dictan la secuencia de ejecución de las instrucciones dentro de un programa. En C#, tres declaraciones fundamentales para controlar bucles son 'continue', 'break' y 'goto'. Estas declaraciones proporcionan a los programadores la capacidad de alterar el flujo de ejecución dentro de los bucles, mejorando la eficiencia y la legibilidad del código. En este artículo, profundizamos en las complejidades de los métodos continue y break en C#, explorando su sintaxis, aplicaciones y mejores prácticas. Más adelante en el artículo, también aprenderemos sobre IronPDF, una robusta biblioteca PDF de C# de Iron Software para leer y escribir documentos PDF.
Entendiendo el enunciado 'continue;'
La declaración continue se usa dentro de estructuras de bucle para saltar el bloque de código restante y proceder a la siguiente iteración del bucle. Esencialmente, le indica al control del programa que omita el código restante de la iteración actual y pase a la siguiente iteración.
Sintaxis
continue;continueEjemplo
public class Program
{
public static void Main()
{
Console.WriteLine("Demonstrate Continue Method in C#");
Console.WriteLine("Print 1 to 10 skipping 5");
for (int i = 0; i < 10; i++)
{
if (i == 5)
{
continue; // Skips iteration when i equals 5
}
Console.WriteLine(i);
}
}
}Public Class Program
Public Shared Sub Main()
Console.WriteLine("Demonstrate Continue Method in C#")
Console.WriteLine("Print 1 to 10 skipping 5")
For i As Integer = 0 To 9
If i = 5 Then
Continue For ' Skips iteration when i equals 5
End If
Console.WriteLine(i)
Next i
End Sub
End ClassEn este ejemplo, cuando i es igual a 5, se ejecuta la declaración continue, omitiendo el código restante dentro del ciclo para esa iteración. Como resultado, el número 5 no se imprimirá, y el bucle pasará a la siguiente iteración.
Resultado

Explorando el método 'break;'
Contrario a continue, la declaración break se usa para salir prematuramente de un bucle. Cuando se encuentra, termina la ejecución del bucle, independientemente de la condición del bucle. Comúnmente se usa para salir de un bucle, como un bucle while, temprano si se cumple cierta condición.
Ejemplo
int[] numbers = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
foreach (int number in numbers)
{
if (number == 6)
{
break; // Exits loop when number equals 6
}
Console.WriteLine(number);
}Dim numbers() As Integer = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }
For Each number As Integer In numbers
If number = 6 Then
Exit For ' Exits loop when number equals 6
End If
Console.WriteLine(number)
Next numberEn este ejemplo, el bucle itera a través del array numbers. Cuando se encuentra con el número 6, se ejecuta la declaración break, lo que provoca que el bucle termine prematuramente. Como resultado, solo se imprimirán los números del 1 al 5.
Explorando la sentencia goto;
La declaración goto en C# proporciona una forma de transferir el control a una etiqueta especificada dentro del mismo método, dentro de la misma declaración switch, o dentro del mismo bucle. Aunque goto puede ser una herramienta poderosa para alterar el flujo de ejecución a través de declaraciones de salto, frecuentemente es desaconsejada en prácticas de programación modernas debido a su potencial para hacer que el código sea menos legible y mantenible. Sin embargo, hay situaciones donde goto puede ser usado de manera efectiva y segura.
Sintaxis
La sintaxis de la declaración goto en C# es sencilla:
goto label;GoTo labelDonde la etiqueta es un identificador seguido de un dos puntos (:), que indica la ubicación de destino en el código.
Ejemplo
Considere un escenario donde desea salir prematuramente de un bucle anidado cuando se cumple una condición específica. Puede lograr esto usando una declaración goto:
for (int i = 0; i < 5; i++)
{
for (int j = 0; j < 5; j++)
{
if (i * j > 10)
{
goto exitLoop;
}
Console.WriteLine($"i: {i}, j: {j}");
}
}
exitLoop:
Console.WriteLine("Exited the nested loop prematurely.");For i As Integer = 0 To 4
For j As Integer = 0 To 4
If i * j > 10 Then
GoTo exitLoop
End If
Console.WriteLine($"i: {i}, j: {j}")
Next j
Next i
exitLoop:
Console.WriteLine("Exited the nested loop prematurely.")En este ejemplo, la declaración goto transfiere el control a la etiqueta exitLoop cuando se cumple la condición i * j > 10, rompiendo efectivamente el bucle anidado.
Presentación de IronPDF - Biblioteca PDF completa de Iron Software.
IronPDF, desarrollada por Iron Software, es una potente biblioteca PDF de C# que brinda una solución todo en uno para trabajar con PDFs en proyectos .NET. Ya sea que necesite crear, editar, exportar, asegurar, cargar o manipular documentos PDF, IronPDF lo tiene cubierto. Aquí hay algunas características clave y casos de uso:
- Conversión de HTML a PDF: convierte contenido HTML a formato PDF sin problemas. Puede generar PDFs a partir de HTML, MVC, ASPX e incluso imágenes.
- Firme, edite y lea archivos PDF: con más de 50 funciones , IronPDF le permite firmar, editar y extraer contenido de archivos PDF. Ya esté agregando firmas digitales o modificando PDFs existentes, IronPDF lo hace sencillo.
- Compatibilidad multiplataforma: IronPDF está diseñado para C#, F# y VB .NET, y se ejecuta en varias versiones de .NET , incluidas .NET Core, .NET Standard y .NET Framework. También está disponible para Java, Node.js y Python.
- Compatibilidad y entornos:
- Versiones .NET : compatible con C#, VB .NET y F#.
- Tipos de proyecto: Funciona con aplicaciones web (Blazor y WebForms), de escritorio (WPF y MAUI) y de consola.
- Entornos de aplicaciones: compatible con Windows, Linux, Mac, Docker, Azure, AWS y más.
- IDE: Se integra perfectamente con Microsoft Visual Studio y JetBrains Rider.
- SO y procesadores: funciona en Windows, Mac y Linux (x64, x86, ARM).
- Estándares y edición de PDF:
- Admite varias versiones de PDF (1.2 - 1.7), PDF/UA y PDF/A.
- Establezca propiedades, seguridad y compresión para archivos PDF.
- Edite metadatos, historial de revisión y estructura de documento.
- Aplique plantillas de página, encabezados, pies de página y configuraciones de página.
- Optimización del rendimiento:
- Soporte completo de multithreading y asíncrono para generación eficiente de PDFs.
- Prioriza la precisión, facilidad de uso y velocidad.
Ahora que conocemos la biblioteca IronPDF, escribamos una aplicación para usar IronPDF y declaración continue, declaración break y declaración goto.
Generar un documento PDF con el enunciado Continuar
Primero, crearemos una aplicación de consola de Visual Studio.

Proporciona el nombre y la ubicación del proyecto.

Siguiente paso, seleccione la versión .NET requerida y haga clic en Crear.
Ahora instale IronPDF usando el siguiente comando.
Ahora generemos un documento PDF usando las declaraciones de control.
using System;
using System.Threading.Tasks;
using IronPdf;
class Program
{
public static async Task Main()
{
Console.WriteLine("Generate PDF document Using IronPDF");
// Initialize a ChromePdfRenderer to render HTML content to PDF
var htmlToPdf = new ChromePdfRenderer();
var content = "<h1>Generate Numbers from 1 to 10, skip 5</h1>";
// Use continue statement to build HTML content
for (int i = 0; i < 10; i++)
{
if (i == 5)
{
continue; // Skip appending number 5 to the content
}
content += $"<p>{i}</p>";
}
content += "<h1>Generate Numbers from 1 to 10, stop at 7</h1>";
// Use break statement to terminate loop at 7
for (int i = 0; i < 10; i++)
{
if (i == 7)
{
break; // Stop appending numbers after 6
}
content += $"<p>{i}</p>";
}
// Render the HTML content as a PDF document
var pdf = await htmlToPdf.RenderHtmlAsPdfAsync(content);
pdf.SaveAs("Awesome IronPDF.pdf");
Console.WriteLine("PDF generated successfully.");
}
}
Explicación del código
- Inicializar y definir el contenido: Comenzamos definiendo el contenido HTML que se incluirá en el PDF.
- Uso de
continue: En el primer bucle, usamos la declaración continue para omitir el número 5 al generar números del 1 al 10. - Uso de
break: En el segundo bucle, usamos la declaración break para detener el bucle una vez que se alcanza el número 7. - Renderización de PDF: Usamos un objeto
ChromePdfRendererpara convertir el contenido HTML a un archivo PDF y guardarlo.
Resultado

Bestes prácticas y consideraciones
- Claridad y legibilidad: en la mayoría de los casos, el uso de declaraciones de flujo de control estructurado como break , continue o bucles anidados puede hacer que su código sea más legible y comprensible. Las declaraciones goto pueden hacer que el código sea más difícil de seguir, especialmente para bases de código más grandes o cuando se usan en exceso.
- Evitar consecuencias no deseadas: el uso incorrecto de goto puede generar código espagueti y dificultar el razonamiento sobre el comportamiento del programa. Es esencial usar goto con prudencia y asegurarse de que su uso sea claro y bien documentado.
- Manejo de errores: Un uso común de goto es en escenarios de manejo de errores, donde puede usarse para saltar a una rutina de limpieza o manejo de errores. Sin embargo, las bases de código C# modernas suelen utilizar el manejo de excepciones estructurado (try-catch-finally) para el manejo de errores, lo que proporciona un enfoque más estructurado y legible.
- Consideraciones de rendimiento: en términos de rendimiento, goto generalmente tiene un impacto mínimo. Sin embargo, la principal preocupación con goto es la mantenibilidad y legibilidad más que el rendimiento.
Licencia (versión de prueba disponible)
Explore los Detalles de Licencia de IronPDF.
Una licencia de prueba de desarrollador está disponible Obtenga una Licencia de Prueba.
Por favor, reemplace la Clave en el archivo appSettings.json que se muestra a continuación.
{
"IronPdf.License.LicenseKey": "The Key Here"
}
Conclusión
En conclusión, los métodos continue y break son herramientas indispensables para controlar la ejecución de bucles en C#. Al incorporar estratégicamente estas declaraciones en su código, puede mejorar su eficiencia, legibilidad y mantenibilidad. Mientras que la declaración goto en C# proporciona un mecanismo para alterar el flujo de ejecución, su uso debe abordarse con precaución. En la mayoría de los casos, las declaraciones de control de flujo estructuradas como break, continue o bucles anidados ofrecen soluciones más claras y mantenibles. Sin embargo, hay escenarios específicos donde goto se puede usar de manera efectiva y segura, como en ciertas situaciones de manejo de errores. Como con cualquier constructo de programación, es crucial sopesar las compensaciones y considerar la legibilidad y mantenibilidad del código al decidir si usar goto.
Junto con la biblioteca IronPDF - Soluciones PDF Integrales de Iron Software, los desarrolladores pueden adquirir habilidades avanzadas para desarrollar aplicaciones modernas.

Jacob Mellor es Director de Tecnología de Iron Software y un ingeniero visionario pionero en la tecnología C# PDF. Como desarrollador original de la base de código principal de Iron Software, ha dado forma a la arquitectura de productos de la empresa desde su creación, transformándola, junto con el director ejecutivo Cameron Rimington, en una empresa de más de 50 personas que presta servicios a la NASA, Tesla y organismos gubernamentales de todo el mundo.
Artículos Relacionados


