O que acontece com o Directory.EnumerateFiles se o conteúdo do diretório for alterado durante a iteração?

Eu li discussões sobre a diferença entre Directory.EnumerateFiles e Directory.GetFiles ().

Entendo que internamente os dois usam System.IO.FileSystemEnumerableFactory.CreateFileNameIterator ()

A diferença é que EnumerateFiles pode usar a execução adiada (lenta), enquanto GetFiles () faz um ToArray, portanto a função já está executada.

Mas o que acontece se arquivos e pastas forem adicionados ao dicionário durante a iteração. A iteração iterará apenas sobre os itens presentes durante o EnumerateFiles ()?

Pior ainda: o que acontece se os arquivos forem removidos durante as iterações: eles ainda serão iterados?

questionAnswers(2)

yourAnswerToTheQuestion