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() |
Возвращает итератор для элементов в коллекции. |