Junior
Cos'è IEnumerable in C#?
sobes.tech AI
Risposta dell'AI
IEnumerable in C# è un'interfaccia definita nello spazio dei nomi System.Collections. Fornisce un modo generale per scorrere (iterare) gli elementi di una collezione.
Caratteristiche principali di IEnumerable:
- Accesso tramite iteratore: Definisce il metodo
GetEnumerator(), che restituisce un oggetto che implementa l'interfacciaIEnumerator.IEnumeratorpermette di passare sequenzialmente da un elemento della collezione all'altro. - Solo lettura:
IEnumerableconsente solo di attraversare gli elementi. Non fornisce metodi per aggiungere, rimuovere o modificare gli elementi della collezione. - Caricamento pigro: L'uso di
IEnumerableporta spesso a un caricamento pigro. Gli elementi vengono generati o caricati solo quando necessario durante l'iterazione. - Base di LINQ:
IEnumerableè un'interfaccia fondamentale per molte operazioni LINQ. I metodi di estensione LINQ (comeWhere,Select,OrderBy) lavorano con collezioni che implementanoIEnumerable, consentendo di creare catene di operazioni.
Esempio di utilizzo:
// Creiamo una lista di stringhe
List<string> frutti = new List<string> { "mela", "banana", "ciliegia" };
// Iteriamo gli elementi della lista usando foreach, che funziona con IEnumerable
foreach (string frutto in frutti)
{
// Stampiamo ogni frutto
Console.WriteLine(frutto);
}
Interfacce correlate:
| Interfaccia | Descrizione |
|---|---|
IEnumerable |
Fornisce l'iterazione degli elementi di una collezione |
IEnumerable<T> |
Versione generica di IEnumerable per collezioni tipizzate |
ICollection |
Estende IEnumerable, aggiunge metodi per dimensione, aggiunta/rimozione di elementi (non universale) |
ICollection<T> |
Versione generica di ICollection |
IList<T> |
Estende ICollection<T>, aggiunge accesso agli elementi tramite indice |