Konvertieren IEnumerable in eine Liste in C#
-
Verwenden Sie
ToList()
, um Daten von IEnumerable in eine Liste inC#
zu konvertieren -
Verwenden Sie
ToList()
, um Daten aus einem Array in eine Liste inC#
zu konvertieren -
Verwenden Sie
ToArray()
, um Daten von einer Liste in ein Array inC#
zu konvertieren -
Verwenden Sie
AsEnumerable()
, um Daten aus der Liste in IEnumerable inC#
zu konvertieren
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
Verwandter Artikel - Csharp List
- So konvertieren Sie einen IEnumerable in eine Liste in C#
- C# Element aus der Liste entfernen
- C# Zwei Listen zusammenfügen
- Die AddRange-Funktion für List in C#
- Eindeutige Elemente zum Auflisten in C#
- Finden Sie Duplikate in einer Liste in C#