Поделиться через


IIterable<T> Интерфейс

Определение

Предоставляет итератор, поддерживающий простую итерацию по коллекции указанного типа.

.ЧИСТАЯ Этот интерфейс отображается как System.Collections.Generic.IEnumerable<T>. В любом случае, если тип среда выполнения Windows реализует IIterable<T>, код .NET может использовать API IEnumerable<T>. В коде C# можно использовать foreach, в Visual Basic — for Each... Далее. Все методы расширения .NET, основанные на IEnumerable<T> и включенные в .NET для приложений UWP, доступны (включая расширения System.Linq , если вы включили пространство имен).

public interface class IIterable
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.FoundationContract, 65536)]
/// [Windows.Foundation.Metadata.Guid(4205151722, 25108, 16919, 175, 218, 127, 70, 222, 88, 105, 179)]
template <typename T>
struct IIterable
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.FoundationContract), 65536)]
[Windows.Foundation.Metadata.Guid(4205151722, 25108, 16919, 175, 218, 127, 70, 222, 88, 105, 179)]
public interface IEnumerable<T>
Public Interface IEnumerable(Of T)

Параметры типа

T
Атрибуты

Требования к Windows

Семейство устройств
Windows 10 (появилось в 10.0.10240.0)
API contract
Windows.Foundation.FoundationContract (появилось в v1.0)

Комментарии

При программировании с помощью .NET этот интерфейс скрыт, и разработчики должны использовать интерфейс T System.Collections.Generic.IEnumerable<>. Из-за того, как были выполнены проекции, метод GetEnumerator не всегда доступен в качестве прямого вызываемого метода для типов, которые проецирует IEnumerable<T> как реализованный, но перечисление коллекции со стандартным синтаксисом перечисления (foreach) по-прежнему поддерживается. Компилятор выполняет приведение типов автоматически, и вам не нужно явно приводить к IEnumerable . Если необходимо выполнить приведение явным образом, например, если вы хотите вызвать GetEnumerator из класса, приведите к IEnumerab<T>, используя ограничение в приведения, соответствующее типу элемента коллекции.

Функции расширения C++/WinRT

Примечание

Функции расширения существуют в типах проекций C++/WinRT для определенных API среда выполнения Windows. Например, winrt::Windows::Foundation::IAsyncAction — это тип проекции C++/WinRT для IAsyncAction. Функции расширения не являются частью поверхности двоичного интерфейса приложения (ABI) фактических типов среда выполнения Windows, поэтому они не перечислены как члены СРЕДА ВЫПОЛНЕНИЯ WINDOWS API. Но их можно вызывать из любого проекта C++/WinRT. См. статью Функции C++/WinRT, расширяющие среда выполнения Windows API.

auto begin() const;

Возвращает итератор к первому элементу коллекции для использования в алгоритмах C++, таких как циклы на основе for диапазона.

auto end() const;

Возвращает итератор после последнего элемента коллекции для использования в алгоритмах C++, таких как циклы на основе for диапазона.

Методы

First()

Возвращает итератор для элементов в коллекции.

Применяется к

См. также раздел