Как циклично выполниться через набор, который поддерживает IEnumerable?

Попытайтесь выбрать все узлы проекта в дереве, тогда перетаскивают & бросьте их в другое решение.

75
задан Alexa Adrian 27 January 2014 в 09:45
поделиться

3 ответа

Подойдет обычный для каждого:

foreach (var item in collection)
{
    // do your stuff   
}
131
ответ дан 24 November 2019 в 11:24
поделиться

Наряду с уже предложенными методами использования цикла foreach , я подумал, что стоит упомянуть, что любой объект, реализующий IEnumerable , также предоставляет IEnumerator через метод GetEnumerator . Хотя в этом методе обычно нет необходимости, его можно использовать для ручного перебора коллекций и особенно полезно при написании ваших собственных методов расширения для коллекций.

IEnumerable<T> mySequence;
using (var sequenceEnum = mySequence.GetEnumerator())
{
    while (sequenceEnum.MoveNext())
    {
        // Do something with sequenceEnum.Current.
    }
}

Ярким примером является случай, когда вы хотите выполнить итерацию по двух последовательностям одновременно , что невозможно с циклом foreach .

84
ответ дан 24 November 2019 в 11:24
поделиться
foreach (var element in instanceOfAClassThatImplelemntIEnumerable)
{

}
7
ответ дан 24 November 2019 в 11:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: