Чтобы выйти из IEnumerator в C#, у вас есть несколько вариантов. Вот некоторые из методов, которые вы можете использовать:
- Использование оператора
yield Break;: этот оператор немедленно завершает работу IEnumerator и возвращает управление вызывающему коду. Его можно разместить в любом месте метода итератора, чтобы выйти из итератора.
public IEnumerator MyIterator()
{
// ...
if (condition)
{
yield break; // Exit the IEnumerator
}
// ...
}
- Использование оператора return. Вы также можете использовать оператор return для выхода из IEnumerator. Однако учтите, что если после оператора return есть какой-либо код, он не будет выполнен.
public IEnumerator MyIterator()
{
// ...
if (condition)
{
return; // Exit the IEnumerator
}
// This code will not be executed if the iterator is exited with 'return'
// ...
}
- Использование исключений: вы можете создать исключение для выхода из IEnumerator. Это приведет к распространению исключения, которое может быть перехвачено вызывающим кодом.
public IEnumerator MyIterator()
{
// ...
if (condition)
{
throw new Exception("Exiting IEnumerator"); // Exit the IEnumerator
}
// ...
}
Эти методы предоставляют различные способы выхода из IEnumerator в зависимости от ваших конкретных требований. Выберите тот, который лучше всего соответствует вашим потребностям.