Konvertieren IEnumerable in eine Liste in C#

Abdullahi Salawudeen 12 Oktober 2023
  1. Verwenden Sie ToList(), um Daten von IEnumerable in eine Liste in C# zu konvertieren
  2. Verwenden Sie ToList(), um Daten aus einem Array in eine Liste in C# zu konvertieren
  3. Verwenden Sie ToArray(), um Daten von einer Liste in ein Array in C# zu konvertieren
  4. Verwenden Sie AsEnumerable(), um Daten aus der Liste in IEnumerable in C# zu konvertieren
Konvertieren IEnumerable in eine Liste in C#

In diesem Artikel wird das Konvertieren von Daten aus IEnumerable in Listen in C# veranschaulicht.

Verwenden Sie ToList(), um Daten von IEnumerable in eine Liste in C# zu konvertieren

IEnumerable ist eine Schnittstelle, die im Namespace System.Collections.Generic enthalten ist. Wie jede andere Schnittstelle stellt es eine Methode zur Verfügung.

In diesem Fall wird die Methode enumerator verfügbar gemacht, die Iterationen oder Schleifen durch generische und nicht generische Listen unterstützt, einschließlich LINQ-Abfragen und Arrays.

IEnumerable enthält nur die Methode GetEnumerator, die ein IEnumerator-Objekt zurückgibt.

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

Die von der IEnumerable-Schnittstelle zurückgegebenen Werte sind schreibgeschützt. Dies impliziert, dass die Manipulation auf diese Daten beschränkt ist.

Die Methode ToList() in C# ist eine alternative Methode, um diese Daten zu manipulieren. Elemente in einer Liste in C# können hinzugefügt, entfernt, sortiert und neu angeordnet werden.

Es gibt so viele Operationen, die auf einer Liste im Vergleich zu den IEnumerable-Werten ausgeführt werden können.

Die C#-Klasse List stellt eine Sammlung stark typisierter Objekte dar, auf die per Index zugegriffen werden kann. Die Funktion oder Methode ToList() befindet sich im Namespace System.Linq (Language-Integrate Query).

Der Operator ToList in LINQ nimmt das Element aus der angegebenen Quelle und gibt eine neue Liste zurück. Die Eingabe würde in eine Typenliste umgewandelt.

Die Methode ToList() gibt eine Liste von String-Instanzen zurück. Die Funktion ToList() kann für eine Array-Referenz oder IEnumerable-Werte aufgerufen werden und umgekehrt.

Weitere Diskussionen sind über diese Referenz verfügbar.

Auf Listenelemente kann wie folgt zugegriffen oder diese bearbeitet werden:

// 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);

Der Namensraum muss importiert werden, um die Funktion ToList wie folgt zu verwenden:

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

Unten ist die Syntax der Methode ToList().

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

Unten finden Sie einen Beispielcode zum Konvertieren von IEnumerable in eine Liste in 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);
      }
    }
  }
}

Ausgabe:

1
2
3
4
5
6
7
8
9
10

Verwenden Sie ToList(), um Daten aus einem Array in eine Liste in C# zu konvertieren

Nachfolgend finden Sie einen Beispielcode zum Konvertieren eines Arrays in eine Liste in 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);
      }
    }
  }
}

Ausgabe:

Nigeria
Ghana
Egypt
Liberia
The Gambia
Morocco
Senegal

Verwenden Sie ToArray(), um Daten von einer Liste in ein Array in C# zu konvertieren

Unten finden Sie einen Beispielcode zum Konvertieren von einer Liste in ein Array in 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);
      }
    }
  }
}

Ausgabe:

1
2
3
4
5
6
7
8
9
10

Verwenden Sie AsEnumerable(), um Daten aus der Liste in IEnumerable in C# zu konvertieren

Nachfolgend finden Sie einen Beispielcode zum Konvertieren von IEnumerable in eine Liste und zurück in 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);
      }
    }
  }

}

Ausgabe:

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

Verwandter Artikel - Csharp List

Verwandter Artikel - Csharp IEnumerable