Esempi di cicli IF, Switch, For e While in C#

⚡ Riepilogo intelligente

In C#, le istruzioni condizionali e i cicli controllano il flusso di un programma eseguendo o ripetendo blocchi di codice in base a una logica. Le istruzioni if, switch, while e for consentono a un programma di prendere decisioni e iterare in modo efficiente.

  • 🔀 Controllo del flusso: Le istruzioni condizionali modificano l'ordine di esecuzione in modo che un programma esegua solo le istruzioni che corrispondono alla sua logica.
  • Istruzione condizionale: L'istruzione if valuta un'espressione booleana ed esegue un blocco di codice quando è vera e un altro quando è falsa.
  • 🔢 Istruzione di commutazione: L'istruzione switch confronta un valore con diverse etichette case e utilizza break per interrompere l'esecuzione non appena viene trovata una corrispondenza.
  • 🔁 Ciclo while: Il ciclo while ripete un blocco di istruzioni finché la sua condizione rimane vera, il che si adatta a un numero indefinito di iterazioni.
  • 🔄 Per loop: Il ciclo for inizializza, verifica e incrementa un contatore in un'unica riga, ideale quando il numero di ripetizioni è noto.
  • 🤖 Assistenza AI: GitHub Copilot elabora la logica condizionale (if, switch e loop), mentre ML.NET riutilizza le stesse condizioni per ramificare le pipeline di machine learning.

Istruzioni condizionali in C#

Controllo di flusso e istruzioni condizionali

Il controllo del flusso e le istruzioni condizionali sono disponibili in qualsiasi linguaggio di programmazione per alterare il flusso di un programma.

Ad esempio, se qualcuno desidera eseguire solo un determinato insieme di istruzioni in base a una certa logica, il controllo di flusso e le istruzioni condizionali risulteranno utili.

Otterrai una migliore comprensione esaminando le varie istruzioni disponibili in C#.

Tieni presente che tutto il codice seguente viene creato nel file Program.cs.

1) Se dichiarazione

L'istruzione if viene utilizzata per valutare un'espressione booleana prima di eseguire un insieme di istruzioni. Se l'espressione risulta vera, verrà eseguito un insieme di istruzioni, altrimenti ne verrà eseguito un altro.

Nell'esempio seguente, viene effettuato un confronto per una variabile chiamata "value". Se il valore della variabile è inferiore a 10, verrà eseguita un'istruzione, altrimenti ne verrà eseguita un'altra.

If dichiarazione

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DemoApplication
{
 class Program 
 {
  static void Main(string[] args) 
  {
   Int32 value = 11;
   
   if(value<10)
   {
    Console.WriteLine("Value is less than 10");
   }
   else
   {
    Console.WriteLine("Value is greater than 10");
   }
    Console.ReadKey();
  }
 }
}

Code Spiegazione:-

  1. Per prima cosa definiamo una variabile chiamata valore e la impostiamo sul valore 11.
  2. Utilizziamo quindi l'istruzione 'if' per verificare se il valore è inferiore a 10 della variabile. Il risultato sarà vero o falso.
  3. Se la condizione if risulta vera, inviamo il messaggio "Il valore è inferiore a 10" alla console.
  4. Se la condizione if risulta falsa, inviamo il messaggio "Il valore è maggiore di 10" alla console.

Se il codice sopra riportato viene immesso correttamente e il programma viene eseguito correttamente, verrà visualizzato il seguente output.

Produzione:

If dichiarazione

Possiamo vedere chiaramente che l'istruzione "if" è stata valutata come falsa. Pertanto alla console è stato inviato il messaggio "Il valore è maggiore di 10".

2) Cambia istruzione

L'istruzione switch è un miglioramento dell'istruzione 'if'. Se hai più espressioni che devono essere valutate in una volta sola, scrivere più istruzioni "if" diventa un problema.

L'istruzione switch viene utilizzata per valutare un'espressione ed eseguire diverse istruzioni in base al risultato dell'espressione. Se una condizione non risulta vera, l'istruzione switch passerà alla condizione successiva e così via.

Vediamo come funziona con l'esempio seguente. Anche in questo caso, confrontiamo il valore di una variabile chiamata 'value'. Verifichiamo quindi se il valore è uguale a 1, a 2 o a qualcosa di completamente diverso.

Cambia dichiarazione

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DemoApplication
{
 class Program
 {
  static void Main(string[] args) 
  {
   Int32 value=11;
   switch(value) 
   {
     case 1: Console.WriteLine("Value is 1");	
     break;
     case 2: Console.WriteLine("Value is 2");
     break;
     default: Console.WriteLine("value is different");
     break;
   }
  }
 }
}

Code Spiegazione:-

  1. Per prima cosa definiamo una variabile chiamata "valore" e la impostiamo sul valore 11.
  2. Utilizziamo quindi l'istruzione 'switch' per verificare il valore della variabile 'value'.
  3. Le dichiarazioni Case vengono utilizzate per impostare condizioni diverse. In base alle condizioni, è possibile eseguire una serie di istruzioni. Un'istruzione switch può avere più condizioni case. La prima istruzione case controlla se il valore della variabile è uguale a 1.
  4. Se la prima istruzione case è vera, sulla console viene scritto il messaggio "Il valore è 1".
  5. L'istruzione break viene utilizzata per interrompere l'intera istruzione switch, una volta che una condizione è vera.
  6. La condizione predefinita è una condizione speciale. Ciò significa semplicemente che se nessuna espressione maiuscola risulta vera, allora esegui la serie di istruzioni per la condizione predefinita.

Se il codice sopra riportato viene inserito correttamente e il programma viene eseguito correttamente, verrà visualizzato il seguente output. L'output stampa il valore predefinito "Value is different", poiché non è soddisfatta alcuna condizione.

Produzione:

Cambia dichiarazione

3) Mentre il ciclo

Il ciclo while viene utilizzato per scopi iterativi. Supponiamo che se desideri ripetere un determinato insieme di istruzioni per un determinato numero di volte, viene utilizzato il ciclo while.

Nel nostro esempio seguente, utilizziamo l'istruzione while per visualizzare il valore di una variabile "i". L'istruzione while viene utilizzata per visualizzare il valore 3 volte.

Mentre loop

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DemoApplication
{
 class Program
 {
  static void Main(string[] args) 
  {
   Int32 value=3,i=0;
   
   while(i<value)
   {
    Console.WriteLine(i);
    i=i+1;
   }
    Console.ReadKey(); 
  }
 }
}

Code Spiegazione:-

  1. Due numeri interi variabili sono definiti, uno è valore e l'altro è "i". La variabile value viene utilizzata come limite superiore fino al quale dovremmo iterare la nostra istruzione while. E "i" è la variabile che verrà elaborata durante l'iterazione.
  2. Nell'istruzione while, il valore di 'i' viene costantemente controllato rispetto al limite superiore.
  3. Qui mostriamo il valore di "i" alla console. Incrementiamo anche il valore di 'i'.

Se il codice sopra riportato viene immesso correttamente e il programma viene eseguito correttamente, verrà visualizzato il seguente output.

Produzione:

Mentre loop

Qui puoi vedere che l'istruzione while viene eseguita 3 volte e incrementata allo stesso tempo. E ogni volta mostrava il valore corrente della variabile "i".

4) Ciclo per

Il ciclo 'for' viene utilizzato anche per scopi iterativi. Supponiamo di voler ripetere una determinata serie di istruzioni per un certo numero di volte: in questo caso si utilizza il ciclo for.

Nel nostro esempio seguente, utilizziamo l'istruzione "for" per visualizzare il valore di una variabile "i". L'istruzione 'for' viene utilizzata per visualizzare il valore 3 volte.

Per loop

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DemoApplication
{
 class Program
 {
  static void Main(string[] args) 
  {
   for(Int32 i=0;i<3;i++)
   {
    Console.WriteLine(i);
   }
    Console.ReadKey(); 
  
  }
 }
}

Code Spiegazione:-

  1. La parola chiave 'for' viene utilizzata per iniziare l'istruzione 'for loop'.
  2. Nel "ciclo for" definiamo 3 cose. Il primo è inizializzare il valore di una variabile, che verrà utilizzata nel "ciclo for".
  3. Il secondo è confrontare il valore della "i" con un limite superiore. Nel nostro caso il limite superiore è il valore 3 (i<3).
  4. Infine, incrementiamo di conseguenza il valore di "i".
  5. Qui mostriamo il valore di "i" alla console.

Se il codice sopra riportato viene immesso correttamente e il programma viene eseguito correttamente, verrà visualizzato il seguente output.

Produzione:

Per loop

Qui puoi vedere che l'istruzione 'for' viene eseguita 3 volte. E ogni volta mostrava il valore corrente della variabile "i".

DOMANDE FREQUENTI

L'istruzione if gestisce intervalli e condizioni booleane complesse, mentre l'istruzione switch confronta un valore con diverse etichette di caso fisse. Switch è più elegante per molti valori discreti, mentre if-else è più adatto a intervalli, variabili multiple e operatori logici.

Un'istruzione if annidata inserisce un'istruzione if all'interno di un'altra, in modo che la condizione interna venga verificata solo quando la condizione esterna è vera. Ciò consente a un programma di controllare diverse condizioni dipendenti, sebbene un annidamento profondo riduca la leggibilità.

Un ciclo while verifica la sua condizione prima di ogni iterazione, quindi potrebbe non essere eseguito nemmeno una volta. Un ciclo do-while verifica la condizione dopo il corpo del ciclo, quindi viene sempre eseguito almeno una volta, il che è adatto per menu e convalida dell'input.

L'istruzione break esce immediatamente da un ciclo o da un'istruzione switch, mentre l'istruzione continue salta la parte restante dell'iterazione corrente e passa alla successiva. Entrambe modificano il flusso, ma solo break termina completamente il ciclo.

L'operatore ternario ?: è una forma compatta dell'istruzione if-else. Valuta una condizione, restituisce il primo valore quando la condizione è vera e il secondo valore quando è falsa, producendo un'assegnazione concisa su una sola riga.

Un ciclo foreach scorre ogni elemento di una collezione, come un array o una lista, senza bisogno di un indice o di un contatore. Legge la collezione in modo sicuro e previene i comuni errori di tipo "off-by-one" e "out-of-range".

Sì. GitHub Copilot suggerisce blocchi if, switch, while e for da un commento o nome di metodo all'interno di Visual Studio e VS Code. RevEsamina attentamente ogni suggerimento per verificare le condizioni e i limiti del ciclo corretti, poiché Copilot può introdurre errori di un'unità.

Le pipeline ML.NET utilizzano istruzioni condizionali C# per diramarsi sui valori delle caratteristiche e cicli per iterare sulle righe di training. La stessa logica if, switch e for prepara i dati e instrada le previsioni, mantenendoping un flusso di lavoro di apprendimento automatico fortemente tipizzato.

Riassumi questo post con: