C#: IEnumerator <T> в операторе использования

Я установил следующий пакет, и он работает:
uw-imap-devel

Запустите эту команду в CentOS 7. х:
yum -y install uw-imap-devel

6
задан Svish 2 June 2009 в 10:41
поделиться

1 ответ

IEnumerator extends IDisposable , поэтому вы должны иметь его в операторе using. foreach делает это автоматически. (Неуниверсальный IEnumerator не расширяет IDisposable , но компилятор C # по-прежнему генерирует код для условного вызова Dispose . Это был один из ( несколько) изменений между C # 1.0 и 1.2, где 1.2 - это версия, поставляемая с .NET 1.1, по какой-то причине.)

Вот статья , объясняющая, почему это важно в контексте блоков итераторов.

As для того, что делает метод:

  • Если последовательность пуста, вернуть резервный элемент
  • Если последовательность имеет ровно один элемент, вернуть его
  • Если последовательность имеет более одного элемента, выбросить исключение

PS:

11
ответ дан 9 December 2019 в 22:39
поделиться
Другие вопросы по тегам:

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