Looking for c# Keywords? Try Ask4Keywords

C# Language Массивы как IEnumerable <> экземпляры


пример

Все массивы реализуют неосновный интерфейс IList (и, следовательно, не общие базовые интерфейсы ICollection и IEnumerable ).

Что еще более важно, одномерные массивы реализуют IList<> и IReadOnlyList<> общие интерфейсы (и их базовые интерфейсы) для типа данных, которые они содержат. Это означает, что их можно рассматривать как общие перечислимые типы и передавать в различные методы без необходимости сначала преобразовывать их в форму без массива.

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.

После запуска этого кода список listOfIntegers будет содержать List<int> содержащий значения 3, 5 и 7.

Массивы средств поддержки IEnumerable<> могут быть запрошены с помощью LINQ, например arr1.Select(i => 10 * i) .