Convertir IEnumerable en liste en C#

Abdullahi Salawudeen 12 octobre 2023
  1. Utilisez ToList() pour convertir les données de IEnumerable en liste en C#
  2. Utilisez ToList() pour convertir les données d’un tableau en liste en C#
  3. Utilisez ToArray() pour convertir les données de la liste en tableau en C#
  4. Utilisez AsEnumerable() pour convertir les données de la liste en IEnumerable en C#
Convertir IEnumerable en liste en C#

Cet article illustrera la conversion des données de IEnumerable en liste en C#.

Utilisez ToList() pour convertir les données de IEnumerable en liste en C#

IEnumerable est une interface contenue dans l’espace de noms System.Collections.Generic. Comme toute autre interface, elle expose une méthode.

Ce cas expose la méthode enumerator, qui prend en charge l’itération ou la boucle dans des listes génériques et non génériques, y compris les requêtes LINQ et les tableaux.

IEnumerable contient uniquement la méthode GetEnumerator, qui renvoie un objet IEnumerator.

public interface IEnumerable<out T> : System.Collections.IEnumerable

Les valeurs renvoyées par l’interface IEnumerable sont en lecture seule. Cela implique que la manipulation est limitée à ces données.

La méthode ToList() en C# est une méthode alternative pour manipuler ces données. Les éléments d’une liste en C# peuvent être ajoutés, supprimés, ordonnés et réorganisés.

Il y a tellement d’opérations qui peuvent être effectuées sur une liste par rapport aux valeurs IEnumerable.

La classe C# List représente une collection d’objets fortement typés accessibles par index. La fonction ou la méthode ToList() se trouve dans l’espace de noms System.Linq (Language-Integrate Query).

L’opérateur ToList dans LINQ prend l’élément de la source donnée et renvoie une nouvelle liste. L’entrée serait convertie en une liste de types.

La méthode ToList() renvoie une liste d’instances de chaîne. La fonction ToList() peut être invoquée sur une référence de tableau ou des valeurs IEnumerable et vice versa.

Une discussion plus approfondie est disponible via cette référence.

Les éléments de la liste peuvent être consultés ou manipulés comme suit :

// an array of 4 strings
string[] animals = { "Cow", "Camel", "Elephant" };

// creating a new instance of a list
List<string> animalsList = new List<string>();

// use AddRange to add elements
animalsList.AddRange(animals);

// declaring a list and passing array elements into the list
List<string> animalsList = new List<string>(animals);

// Adding an element to the collection
animalsList.Add("Goat");
Console.WriteLine(animalsList[2]);  // Output Elephant, Accessing elements of a list

// Collection of new animals
string[] newAnimals = { "Sheep", "Bull", "Camel" };

// Insert array at position 3
animalsList.InsertRange(3, newAnimals);

// delete 2 elements at starting with element at position 3
animalsList.RemoveRange(3, 2);

L’espace de noms doit être importé pour utiliser la fonction ToList comme suit :

using System.Collections.Generic;
using System.Linq;

Ci-dessous la syntaxe de la méthode ToList().

List<string> result = countries.ToList();

Vous trouverez ci-dessous un exemple de code pour convertir IEnumerable en liste en C#.

using System;
using System.Collections.Generic;
using System.Linq;

namespace TestDomain {
  class Program {
    public static void Main(String[] args) {
      IEnumerable<int> testValues = from value in Enumerable.Range(1, 10) select value;
      List<int> result = testValues.ToList();
      foreach (int a in result) {
        Console.WriteLine(a);
      }
    }
  }
}

Production:

1
2
3
4
5
6
7
8
9
10

Utilisez ToList() pour convertir les données d’un tableau en liste en C#

Vous trouverez ci-dessous un exemple de code pour convertir un tableau en liste en C#.

using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ArrayToListApp {
  class Program {
    static void Main(string[] args) {
      // create an array of African countries of type string containing the collection of data
      string[] countries = { "Nigeria",    "Ghana",   "Egypt",  "Liberia",
                             "The Gambia", "Morocco", "Senegal" };
      // countries.ToList() convert the data collection into the list.
      List<string> result = countries.ToList();
      // foreach loop is used to print the countries
      foreach (string s in result) {
        Console.WriteLine(s);
      }
    }
  }
}

Production:

Nigeria
Ghana
Egypt
Liberia
The Gambia
Morocco
Senegal

Utilisez ToArray() pour convertir les données de la liste en tableau en C#

Vous trouverez ci-dessous un exemple de code pour convertir une liste en tableau en C#.

using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ListToArrayApp {
  class Program {
    static void Main(string[] args) {
      // create an array of African countries of type string containing the collection of data
      IEnumerable<int> testValues = from value in Enumerable.Range(1, 10) select value;

      // countries.ToList() convert the data collection into the list.
      List<int> result = testValues.ToList();
      int[] array = result.ToArray();  // convert string to array.
      // foreach loop is used to print the countries
      foreach (int i in array) {
        Console.WriteLine(i);
      }
    }
  }
}

Production:

1
2
3
4
5
6
7
8
9
10

Utilisez AsEnumerable() pour convertir les données de la liste en IEnumerable en C#

Vous trouverez ci-dessous un exemple de code pour convertir IEnumerable en liste et revenir à IEnumerable.

using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ListToArrayApp {
  class Program {
    static void Main(string[] args) {
      List<int> list = new List<int>();
      IEnumerable enumerable = Enumerable.Range(1, 5);

      foreach (int item in enumerable) {
        list.Add(item);
      }
      Console.WriteLine("Output as List");
      foreach (var item in list) {
        Console.WriteLine(item);
      }
      Console.WriteLine("Output as Enumerable");
      // using the AsEnumerable to	convert list back to Enumerable
      IEnumerable resultAsEnumerable = list.AsEnumerable();
      foreach (var item in resultAsEnumerable) {
        Console.WriteLine(item);
      }
    }
  }

}

Production:

Output as List
1
2
3
4
5
Output as Enumerable
1
2
3
4
5
Abdullahi Salawudeen avatar Abdullahi Salawudeen avatar

Abdullahi is a full-stack developer and technical writer with over 5 years of experience designing and implementing enterprise applications. He loves taking on new challenges and believes conceptual programming theories should be implemented in reality.

LinkedIn GitHub

Article connexe - Csharp List

Article connexe - Csharp IEnumerable