Ir para o conteúdo do rodapé
AJUDA DO .NET

C# Continuar (Como funciona para desenvolvedores)

As instruções de controle de fluxo são cruciais na programação, pois ditam a sequência de execução das instruções dentro de um programa. Em C#, três instruções fundamentais para controlar loops são ' continue ', ' break ' e ' goto '. Essas instruções permitem que os programadores alterem o fluxo de execução dentro dos loops, melhorando a eficiência e a legibilidade do código. Neste artigo, vamos explorar as complexidades dos métodos continue e break em C#, analisando sua sintaxe, aplicações e melhores práticas. Mais adiante neste artigo, também aprenderemos sobre o IronPDF - uma biblioteca robusta em C# da Iron Software para ler e gravar documentos PDF.

Entendendo a declaração 'continue;'

A instrução continue é usada em estruturas de repetição para ignorar o bloco de código restante e prosseguir para a próxima iteração do loop. Essencialmente, ela instrui o controle do programa a ignorar o código restante da iteração atual e passar para a próxima iteração.

Sintaxe

continue;
continue;
continue
$vbLabelText   $csharpLabel

Exemplo

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 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 Class
$vbLabelText   $csharpLabel

Neste exemplo, quando i é igual a 5, a instrução continue é executada, ignorando o restante do código dentro do loop para essa iteração. Como resultado, o número 5 não será impresso e o loop prosseguirá para a próxima iteração.

Saída

C# Continue (Como funciona para desenvolvedores): Figura 1 - Saída do console mostrando que o caso 5 é ignorado devido à instrução continue

Explorando o método 'break';

Ao contrário do comando continue , o comando break é usado para sair de um loop prematuramente. Ao ser encontrado, ele encerra a execução do loop, independentemente da condição do loop. É comumente usado para sair de um loop, como um loop while, antecipadamente, caso uma determinada condição seja atendida.

Exemplo

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);
}
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 number
$vbLabelText   $csharpLabel

Neste exemplo, o loop itera pelo array numbers. Ao encontrar o número 6, a instrução break é executada, fazendo com que o loop termine prematuramente. Consequentemente, apenas os números de 1 a 5 serão impressos.

Explorando a instrução ' goto ;'

A instrução goto em C# permite transferir o controle para um rótulo específico dentro do mesmo método, dentro da mesma instrução switch ou dentro do mesmo loop. Embora goto possa ser uma ferramenta poderosa para alterar o fluxo de execução para instruções de salto, seu uso é frequentemente desencorajado nas práticas de programação modernas devido ao seu potencial de tornar o código menos legível e de difícil manutenção. No entanto, existem situações em que goto pode ser usado de forma eficaz e segura.

Sintaxe

A sintaxe da instrução goto em C# é simples:

goto label;
goto label;
GoTo label
$vbLabelText   $csharpLabel

Onde o rótulo é um identificador seguido por dois pontos (:), indicando a localização alvo no código.

Exemplo

Considere um cenário em que você deseja sair prematuramente de um loop aninhado quando uma condição específica for atendida. Você pode fazer isso usando um comando 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 (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.")
$vbLabelText   $csharpLabel

Neste exemplo, a instrução goto transfere o controle para o rótulo exitLoop quando a condição i * j > 10 é atendida, saindo efetivamente do loop aninhado.

Apresentando o IronPDF - Biblioteca completa de PDFs da Iron Software .

IronPDF , desenvolvido pela Iron Software, é uma poderosa biblioteca C# para PDF que oferece uma solução completa para trabalhar com PDFs em projetos .NET . Seja para criar, editar, exportar, proteger, carregar ou manipular documentos PDF, o IronPDF tem a solução ideal para você. Aqui estão alguns recursos e casos de uso principais:

  1. Conversão de HTML para PDF: Converta conteúdo HTML para o formato PDF de forma integrada. Você pode gerar PDFs a partir de HTML, MVC, ASPX e até mesmo imagens.
  2. Assine, edite e leia PDFs: Com mais de 50 recursos , o IronPDF permite assinar, editar e extrair conteúdo de arquivos PDF. Seja para adicionar assinaturas digitais ou modificar PDFs existentes, o IronPDF torna tudo muito simples.
  3. Suporte multiplataforma: O IronPDF foi projetado para C#, F# e VB .NET e funciona em várias versões do .NET , incluindo .NET Core, .NET Standard e .NET Framework. Também está disponível for Java, Node.js e Python.
  4. Compatibilidade e Ambientes:
    • Versões do .NET : Suporta C#, VB .NET e F#.
    • Tipos de projeto: Funciona com aplicações web (Blazor e WebForms), desktop (WPF e MAUI) e de console.
    • Ambientes de aplicativos: Compatível com Windows, Linux, Mac, Docker, Azure, AWS e muito mais.
    • IDEs: Integra-se perfeitamente com o Microsoft Visual Studio e o JetBrains Rider.
    • Sistemas Operacionais e Processadores: Funciona em Windows, Mac e Linux (x64, x86, ARM).
  5. Padrões e edição de PDF:
    • Suporta diversas versões de PDF (1.2 - 1.7), PDF/UA e PDF/A.
    • Defina as propriedades, a segurança e a compressão dos arquivos PDF.
    • Editar metadados, histórico de revisões e estrutura do documento.
    • Aplicar modelos de página, cabeçalhos, rodapés e configurações de página.
  6. Otimização de desempenho:
    • Suporte completo a multithreading e processamento assíncrono para geração eficiente de PDFs.
    • Prioriza precisão, facilidade de uso e velocidade.

Agora que conhecemos a biblioteca IronPDF , vamos escrever um aplicativo para usar o IronPDF e as instruções **continue , break e goto** .

Gerar documento PDF usando a instrução Continue

Primeiro, vamos criar um aplicativo de console do Visual Studio.

C# Continuar (Como funciona para desenvolvedores): Figura 2 - Criando um aplicativo de console do Visual Studio

Forneça o nome e a localização do projeto.

C# Continuar (Como funciona para desenvolvedores): Figura 3 - Forneça o nome do projeto

Em seguida, selecione a versão do .NET desejada e clique em Criar.

Agora instale o IronPDF usando o comando abaixo.

dotnet add package IronPdf --version 2024.4.2

Agora vamos gerar um documento PDF usando as instruções de controle.

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("AwesomeIronPDF.pdf");

        Console.WriteLine("PDF generated successfully.");
    }
}
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("AwesomeIronPDF.pdf");

        Console.WriteLine("PDF generated successfully.");
    }
}
Imports System
Imports System.Threading.Tasks
Imports IronPdf

Friend Class Program
	Public Shared Async Function Main() As Task
		Console.WriteLine("Generate PDF document Using IronPDF")

		' Initialize a ChromePdfRenderer to render HTML content to PDF
		Dim htmlToPdf = New ChromePdfRenderer()
		Dim content = "<h1>Generate Numbers from 1 to 10, skip 5</h1>"

		' Use continue statement to build HTML content
		For i As Integer = 0 To 9
			If i = 5 Then
				Continue For ' Skip appending number 5 to the content
			End If
			content &= $"<p>{i}</p>"
		Next i

		content &= "<h1>Generate Numbers from 1 to 10, stop at 7</h1>"

		' Use break statement to terminate loop at 7
		For i As Integer = 0 To 9
			If i = 7 Then
				Exit For ' Stop appending numbers after 6
			End If
			content &= $"<p>{i}</p>"
		Next i

		' Render the HTML content as a PDF document
		Dim pdf = Await htmlToPdf.RenderHtmlAsPdfAsync(content)
		pdf.SaveAs("AwesomeIronPDF.pdf")

		Console.WriteLine("PDF generated successfully.")
	End Function
End Class
$vbLabelText   $csharpLabel

Explicação do código

  1. Inicializar e definir o conteúdo: Começamos definindo o conteúdo HTML a ser incluído no PDF.
  2. Uso de continue: No primeiro loop, usamos a instrução continue para pular o número 5 ao gerar números de 1 a 10.
  3. Uso de break: No segundo loop, usamos a instrução break para interromper o loop assim que o número 7 for alcançado.
  4. Renderização de PDF: Usamos um objeto ChromePdfRenderer para converter o conteúdo HTML em um arquivo PDF e salvá-lo.

Saída

C# Continue (Como funciona para desenvolvedores): Figura 4 - Exemplo de saída mostrando como os métodos continue e break funcionam

Melhores práticas e considerações

  1. Clareza e Legibilidade: Na maioria dos casos, o uso de instruções de controle de fluxo estruturadas, como break , continue ou loops aninhados, pode tornar seu código mais legível e compreensível. As instruções goto podem dificultar o acompanhamento do código, especialmente em bases de código maiores ou quando usadas em excesso.
  2. Evitando consequências indesejadas: O uso incorreto do comando goto pode levar a um código confuso e dificultar a compreensão do comportamento do programa. É essencial usar o comando goto com critério e garantir que seu uso seja claro e bem documentado.
  3. Tratamento de erros: Um caso de uso comum para o comando goto é em cenários de tratamento de erros, onde ele pode ser usado para saltar para uma rotina de limpeza ou tratamento de erros. No entanto, bases de código C# modernas frequentemente usam tratamento de exceções estruturado (try-catch-finally) para tratamento de erros, o que proporciona uma abordagem mais estruturada e legível.
  4. Considerações sobre desempenho: Em termos de desempenho, o comando goto geralmente tem um impacto mínimo. No entanto, a principal preocupação com o comando goto é a facilidade de manutenção e a legibilidade, e não o desempenho.

Licença (Versão de teste disponível)

Consulte os detalhes de licenciamento do IronPDF .

Está disponível uma licença de avaliação para desenvolvedores. Obtenha uma licença de avaliação .

Substitua a chave no arquivo appSettings.json mostrado abaixo.

{
  "IronPdf.License.LicenseKey": "The Key Here"
}

Conclusão

Em conclusão, os métodos continue e break são ferramentas indispensáveis ​​para controlar a execução de loops em C#. Ao incorporar estrategicamente essas declarações em seu código, você pode melhorar sua eficiência, legibilidade e facilidade de manutenção. Embora a instrução goto em C# forneça um mecanismo para alterar o fluxo de execução, seu uso deve ser abordado com cautela. Na maioria dos casos, instruções de controle de fluxo estruturadas, como break , continue ou loops aninhados, oferecem soluções mais claras e fáceis de manter. No entanto, existem cenários específicos em que o comando goto pode ser usado de forma eficaz e segura, como em determinadas situações de tratamento de erros. Como em qualquer construção de programação, é crucial ponderar as vantagens e desvantagens e considerar a legibilidade e a facilidade de manutenção do código ao decidir se deve usar o comando goto.

Em conjunto com a biblioteca IronPDF - Comprehensive PDF Solutions da Iron Software , os desenvolvedores podem adquirir habilidades avançadas para desenvolver aplicativos modernos.

Perguntas frequentes

Como funciona a instrução 'continue' em C#?

A instrução 'continue' em C# é usada dentro de loops para pular o código restante na iteração atual e prosseguir diretamente para a próxima iteração. Isso é útil para ignorar certas condições ou valores, como pular o número 5 em um loop.

Qual é a função da instrução 'break' em laços de repetição?

A instrução 'break' é usada para sair de um loop prematuramente quando uma condição específica é atendida. Isso é útil para interromper o loop em um determinado ponto, como cessar as iterações após atingir o número 6.

Quando você deve usar a instrução 'goto' em C#?

Embora a instrução 'goto' permita saltar para uma seção de código específica, seu uso geralmente é desencorajado devido a possíveis problemas de legibilidade. Ela é mais adequada para cenários específicos onde outras estruturas de controle seriam menos eficientes ou claras.

Como posso integrar o IronPDF em projetos C#?

O IronPDF pode ser integrado em projetos C# usando o comando dotnet add package IronPDF --version [version_number] , permitindo a criação, edição e conversão de PDFs em vários ambientes .NET.

Quais são as vantagens de usar uma biblioteca PDF abrangente em C#?

Uma biblioteca PDF completa como o IronPDF aprimora aplicativos C# ao fornecer recursos robustos para criação, edição e conversão de PDFs. Ela suporta a conversão de HTML para PDF e oferece suporte multiplataforma, tornando-se uma ferramenta versátil para desenvolvedores.

Como as instruções de fluxo de controle podem melhorar a geração de PDFs em C#?

Instruções de controle de fluxo, como 'continue' e 'break', podem ser usadas para gerenciar a execução de loops durante a geração de PDFs, permitindo que os desenvolvedores adicionem conteúdo seletivamente ou interrompam a geração de conteúdo com base em condições específicas ao usar o IronPDF.

Quais são as características de compatibilidade do IronPDF?

O IronPDF é compatível com várias versões do .NET, incluindo .NET Core, .NET Standard e .NET Framework. Ele suporta diversas linguagens, como C#, VB.NET e F#, e se integra a IDEs como o Microsoft Visual Studio e o JetBrains Rider.

Curtis Chau
Redator Técnico

Curtis Chau é bacharel em Ciência da Computação (Universidade Carleton) e se especializa em desenvolvimento front-end, com experiência em Node.js, TypeScript, JavaScript e React. Apaixonado por criar interfaces de usuário intuitivas e esteticamente agradáveis, Curtis gosta de trabalhar com frameworks modernos e criar manuais ...

Leia mais

Equipe de suporte de ferro

Estamos online 24 horas por dia, 5 dias por semana.
Bater papo
E-mail
Liga para mim