-2

Directory.EnumerateFiles または Directory.GetFiles で .take() を使用できますか??

私はこれを持っていて動作します

    Parallel.ForEach(Directory.EnumerateFiles(sourceFolder, "*", 
               SearchOption.AllDirectories), file =>
    {
         //DO SOMETHING

    });

例として100個のファイルでのみサイクルを実行したい。そう:

    Parallel.ForEach(Directory.EnumerateFiles(sourceFolder, "*",
              SearchOption.AllDirectories).Take(100), file =>
    {
         //DO SOMETHING

    });

しかし、期待したようにサイクルは 100 回再現されません。

なんで?

4

1 に答える 1

5

はい、それは絶対に問題ありません。によって返される最初の 100 個のファイルに結果を制限しますEnumerateFiles。ただし、100 個のファイルがない場合、ブロックを 100 回実行することはありません...これは単なる制限要因です

于 2013-03-18T15:09:16.657 に答える