Menu
Coddy logo textTech

Break e continue

Fa parte della sezione Logica e flusso del percorso C# di Coddy. Lezione 21 di 66.

In C#, break e continue sono istruzioni che ti offrono un maggiore controllo sull’esecuzione del ciclo.

L’istruzione break

L’istruzione break esce immediatamente da un ciclo:

for (int i = 1; i <= 10; i++)
{
    if (i == 5)
    {
        break; // Esci dal ciclo quando i è uguale a 5
    }
    Console.WriteLine(i);
}

Dopo aver eseguito il codice qui sopra, l’output sarà:

1
2
3
4

Il ciclo si interrompe non appena i è uguale a 5 e l'esecuzione continua con il codice dopo il ciclo.

L'istruzione continue

L'istruzione continue salta il resto dell'iterazione corrente e passa all'iterazione successiva:

for (int i = 1; i <= 5; i++)
{
    if (i == 3)
    {
        continue; // Salta il resto di questa iterazione
    }
    Console.WriteLine(i);
}

Dopo aver eseguito il codice sopra, l'output sarà:

1
2
4
5

Il valore 3 non viene stampato perché l'istruzione continue salta Console.WriteLine(i) per quell'iterazione.

challenge icon

Sfida

Facile

Scrivi un metodo chiamato ProcessNumbers che accetta come parametro un array di numeri interi. Il metodo dovrebbe:

  1. Stampare tutti i numeri dell'array
  2. Saltare la stampa dei numeri negativi (usa continue)
  3. Interrompere l'elaborazione se incontra un numero maggiore di 100 (usa break)
  4. Restituire la somma di tutti i numeri che sono stati stampati

Provalo tu

using System;

public class Program
{
    public static int ProcessNumbers(int[] numbers)
    {
        // Scrivi qui il tuo codice
        return 0;
    }
    
    public static void Main(string[] args)
    {
        // Leggi l'input dell'utente
        string input = Console.ReadLine();
        int[] numbers;
        
        if (string.IsNullOrEmpty(input))
        {
            // Array di esempio per i test
            numbers = new int[] { 5, -3, 10, 15, -7, 105, 20 };
        }
        else
        {
            string[] parts = input.Split(',');
            numbers = new int[parts.Length];
            for (int i = 0; i < parts.Length; i++)
            {
                numbers[i] = int.Parse(parts[i].Trim());
            }
        }
        
        int sum = ProcessNumbers(numbers);
        Console.WriteLine("Sum: " + sum);
    }
}
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Logica e flusso

Esercitati da solo: Compilatore C# online