Ну, это - ясно проблема со структурой данных, которую Вы используете. Используйте хеш-таблицу, например. Некоторые реализации поддерживают многократные въезды на ключ, таким образом, можно или вытолкать новейший элемент прочь, или удалять всех их.
, Но это, и что Вы собираетесь найти, что решение, элегантность через различную структуру данных, не алгоритм. Возможно, можно добиться большего успеха, если это отсортировано, или что-то, но повторение в списке является единственным методом здесь.
редактирование: каждый действительно понимает, что попросил 'эффективность'..., все эти предложенные методы просто выполняют итерации по списку, который совпадает с тем, что он предложил.
Вам нужно использовать |
вместо &
.
Это двоичные флаги, и когда вы говорите &
, вы эффективно маскируете их всех, в результате чего вообще не остается никаких вариантов.
Попробуйте также включить флаг WriteThrough
в список, используя | оператор. См. KB о требованиях для использования FILE_FLAG_NO_BUFFERING
. Интересно, что MS не включила этот флаг в перечисление. Есть ли причина, по которой WriteThrough
не выполняет то, что вам нужно в этом сценарии? Вы пытаетесь записать защищенные данные?
Используйте FileOptions.DeleteOnClose | FILE_FLAG_NO_BUFFERING
&
отменяет их.
FILE_FLAG_NO_BUFFERING & FileOptions.DeleteOnClose
возвращает FileOptions.None