Давным-давно я узнал, что для этого есть обозначение, но теперь я забыл его. Если название вводит в заблуждение, пожалуйста, дайте мне знать.
Например, IEnumerator в C # имеет функцию MoveNext (), которая перемещает перечислитель к следующему элементу его коллекции, вы можете использовать его для перехода к следующему элементу и / или для проверки, есть ли следующий элемент, так как он возвращает bool.
MoveNext () не ограничивается одним вариантом использования, например пустотами, которые просто что-то делают внутри своих тел, или функциями, которые просто возвращают значение.
Другие методы, которые используют этот тип неограниченного использования:
- HashSet's Add, который возвращает bool, если элемент уже существует, но может быть использован только для попытки добавления элемента.
- Stack's Pop, который возвращает последний объект, а также перемещает структуру.
- очередь очереди, то же самое для стека, но с возвратом первого объекта.
- и т.д.
Небольшой пример многократного использования таких методов:
public class Example
{
Queue<int> testQueue;
public Example()
{
testQueue = new Queue<int>();
testQueue.Enqueue(1);
testQueue.Enqueue(2);
testQueue.Enqueue(3));
testQueue.Enqueue(4);
/// As function:
int v = testQueue.Dequeue(); // I get 1.
/// As method, just to take the elements out.
testQueue.Dequeue();
testQueue.Dequeue();
// The first element is 4.
}
}
Спасибо за помощь и еще раз извините, если название несколько двусмысленное.