I doubt you are going to get the TPL to give you much of a performance gain here. Most of the processing time is involved in generating your list. If you just do something simple with each file you won't get any benefits from the TPL and you will just add complexity. However, if you were to do something complicated or processor-intensive with each file then the TPL would really help you out.
The other option here would be to use the TPL to search each directory in a set of directories. Say, for example, you wanted to do the search in the following directories for the files you wanted:
- C:\Files
- C:\Temp
- C:\Users\Tim\Documents
- F:\
- G:\Data
- S:\SavedDocs
You could set these folder names in an array and then do a FindFiles method that took in the name of the folder path. Then you could do a Parallel.ForEach on the array and run the method inside each task. That would give you some performance gains, although I'm not sure you would see a lot just because the file system only has so much performance to give.
Usually the TPL does best when you are doing large calculations or are dealing with tasks that have waits in them (async for example). Then the TPL will go to the next task when one is waiting and thus you don't waste your processor. Disk access won't be sped up with the TPL.