Например:
Queue<System.Drawing.SolidBrush> brushQ = new Queue<System.Drawing.SolidBrush>();
...
brushQ.Clear();
Если я не вычеркиваю каждый элемент отдельно и удаляю их отдельно, выполняйте ли остальные элементы при вызове Clear()? Как насчет того, когда очередь собирает мусор?
Предполагая, что ответ "нет", тогда какая лучшая практика? Нужно ли всегда перебирать очереди и размещать каждый элемент?
Это может стать уродливым, особенно если вам нужно попробовать... в конце концов, каждый из них будет удален, в случае если вы выбрали исключение.
Edit
Таким образом, кажется, что бремя лежит на пользователе общей коллекции, чтобы знать, что если элементы являются одноразовыми (это означает, что они, вероятно, будут использовать неуправляемые ресурсы, которые не будут очищены сборщиком мусора) то:
- Когда вы удаляете элемент из коллекции, убедитесь, что у вас есть Dispose().
- НЕ ВЫЗЫВАЙТЕ Clear(). Итерация через собирать и распоряжаться каждым пункт.
Возможно, в документации для общих коллекций следует упомянуть это.