Menu
Coddy logo textTech

Prestazioni dei cicli

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

Ottimizzare le prestazioni dei cicli può migliorare significativamente la velocità della tua applicazione, soprattutto con grandi insiemi di dati.

Memorizza la lunghezza della raccolta in una variabile prima del ciclo:

int[] numbers = { 1, 2, 3, 4, 5 };
int length = numbers.Length; // Guarda length una sola vez

for (int i = 0; i < length; i++) // Usa el valor guardado
{
    Console.WriteLine(numbers[i]);
}

Evita le chiamate ripetute ai metodi nelle condizioni del ciclo, ad esempio:

for (int i = 0; i < GetCount(); i++)
{
    // Loop body
}

Il metodo GetCount() viene chiamato a ogni iterazione del ciclo. Ciò significa che se il ciclo viene eseguito 1000 volte, anche GetCount() verrà eseguito 1000 volte, perché la condizione del ciclo viene valutata prima di ogni iterazione.

Ecco come farlo correttamente:

int count = GetCount();
for (int i = 0; i < count; i++)
{
    // Corpo del ciclo
}

GetCount() viene chiamato una sola volta prima che inizi il ciclo e il suo valore viene memorizzato nella variabile count. Poi il ciclo usa questo valore memorizzato per tutte le iterazioni, eliminando la necessità di chiamare ripetutamente il metodo.

Questo approccio può rendere il tuo codice più veloce riducendo le operazioni ridondanti, soprattutto quando il metodo chiamato esegue calcoli complessi o accede ai dati.

challenge icon

Sfida

Facile

Crea un metodo chiamato optimizedSum che:

  1. Accetta un array di interi come parametro
  2. Calcola la somma di tutti gli elementi
  3. Implementa sia un approccio ottimizzato che uno non ottimizzato:
    • Non ottimizzato: chiama array.Length a ogni iterazione del ciclo
    • Ottimizzato: memorizza la lunghezza prima del ciclo
  4. Restituisce il risultato dell’approccio ottimizzato

Provalo tu

public class OptimizedSum
{
    // Implementa il metodo optimizedSum
    public static int optimizedSum(int[] numbers)
    {
        // Scrivi il tuo codice qui
        
    }
}
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