В C# интерфейс IEnumerable широко используется для перебора коллекций. Однако существуют сценарии, в которых вам может потребоваться преобразовать IEnumerable в список, чтобы воспользоваться преимуществами функций, специфичных для списка. В этой статье блога мы рассмотрим семь эффективных методов преобразования IEnumerable в список на C#, сопровождая их соответствующими примерами кода.
Метод 1: использование метода расширения ToList()
IEnumerable<int> numbers = GetNumbers();
List<int> numberList = numbers.ToList();
Метод 2: использование конструктора List
IEnumerable<int> numbers = GetNumbers();
List<int> numberList = new List<int>(numbers);
Метод 3: использование метода LINQ ToList()
IEnumerable<int> numbers = GetNumbers();
List<int> numberList = numbers.ToList();
Метод 4: использование методов LINQ Cast
IEnumerable<object> objects = GetObjects();
List<string> stringList = objects.Cast<string>().ToList();
Метод 5: использование метода AddRange()
IEnumerable<int> numbers = GetNumbers();
List<int> numberList = new List<int>();
numberList.AddRange(numbers);
Метод 6: использование цикла for
IEnumerable<int> numbers = GetNumbers();
List<int> numberList = new List<int>();
foreach (int number in numbers)
{
numberList.Add(number);
}
Метод 7: использование метода Enumerable.ToList()
IEnumerable<int> numbers = GetNumbers();
List<int> numberList = Enumerable.ToList(numbers);
В этой статье мы рассмотрели семь различных методов преобразования IEnumerable в список на C#. Независимо от того, предпочитаете ли вы использовать методы расширения, конструкторы, LINQ или традиционные циклы for, эти методы обеспечивают гибкость и удобство в зависимости от ваших конкретных требований. Преобразование IEnumerable в список позволяет использовать обширные функциональные возможности, предоставляемые классом List, такие как произвольный доступ, вставка и удаление. Эффективно применяя эти методы, вы можете повысить производительность кодирования и оптимизировать производительность приложений C#.