C# Language Tableaux en tant qu'instances IEnumerable <>


Exemple

Tous les tableaux implémentent l'interface IList non générique (et donc les interfaces de base ICollection et IEnumerable non génériques).

Plus important encore, les tableaux unidimensionnels implémentent les interfaces génériques IList<> et IReadOnlyList<> (et leurs interfaces de base) pour le type de données qu'ils contiennent. Cela signifie qu'ils peuvent être traités comme des types énumérables génériques et transmis à une variété de méthodes sans avoir à les convertir d'abord en une forme non-tableau.

int[] arr1 = { 3, 5, 7 };
IEnumerable<int> enumerableIntegers = arr1; //Allowed because arrays implement IEnumerable<T>
List<int> listOfIntegers = new List<int>();
listOfIntegers.AddRange(arr1); //You can pass in a reference to an array to populate a List.

Après avoir exécuté ce code, la liste listOfIntegers contiendra une List<int> contenant les valeurs 3, 5 et 7.

Le support IEnumerable<> signifie que les tableaux peuvent être interrogés avec LINQ, par exemple arr1.Select(i => 10 * i) .