title: Fastest way to delete million of files
body: <p>I have a list of string which are relative paths. I also have a string which contains root path for those files. Now I am deleting them like this:</p>
  
  <pre><code>foreach (var rawDocumentPath in documents.Select(x =&gt; x.RawDocumentPath))
  {
      if (string.IsNullOrEmpty(rawDocumentPath))
      {
          continue;
      }
      string fileName = Path.Combine(storagePath, rawDocumentPath);
      File.Delete(fileName);
  }
  </code></pre>
  
  <p>the problem is that I call <code>Path.Combine</code> for every file, and it's slow enough. 
  How can I speed up this code? I can't delete whole folders, I cannot change current directory (because it affects a whole program)... </p>
  
  <p>I need something like a class which can delete fast several files in specified directory.</p>