2011-11-19 48 views
1

我生成了一些文件(简本)移动文件,并在同一时间

private static void GenFiles(int numbersToGenerate, string directory) 
{ 
    for (int i = 1; i <= numbersToGenerate; i++) 
    { 
     string fileName = Path.Combine(directory, "File" + i); 
     File.Create(fileName); 
    } 
} 

现在我告诉“生成100个文件,并创建10个文件夹(Folder1中,文件夹2-Folder3等)的地方创建目录每个文件夹中有10个项目“

你会创建一个目录中的所有文件,然后创建每个文件夹移动文件到文件夹,直到没有文件离开?

private static void MoveToFolders(string targetDirectory,int numberOfFolders, int numberOfFilesGenerated) 
{ 
    int itemsPerFolder = numberOfFilesGenerated/numberOfFolders; 
    ????? 
    // 
} 

建议?

+6

家庭作业?这听起来像是测试你将需求转化为工作产品的能力。如果是这样,回答这个问题会对你造成伤害。这种技能是现实世界中必须具备的技能,而你开发它的最好方式是通过经验和反复试验。如果这不是家庭作业,我很抱歉承认这一点。 – David

+0

@DavidStratton根本不是家庭作业。我需要移动/组织成千上万的文件,只是想知道最好的/最快的方法是什么。一个不好的例子会很棒。我的真实世界情景要复杂得多,我已经了解到当发布问题越简单越好。我不想通过发布一个复杂的问题来混淆。 – user9969

+0

然后我会支持@ Tigran的回答。文件创建的嵌套循环是我如何做到的。 – David

回答

3

我会说在循环creare文件夹里面创建一个文件。减少步骤来实现你的目标。

+0

这是一个不断计算文件夹和移动的情况里面的东西。你认为这会比在一个文件夹中生成所有文件,然后将它们移动到其他文件夹更快。模拟器以一种方式,但效率更低?# – user9969

+0

对我来说,它似乎更快,因为需要更少的步骤来实现所需的最终状态。如果你创建并移动后,恕我直言,你应该在技术上做所有需要在第一个选项+文件移动。但我建议去衡量一下,特别是如果你在谈论数千个文件。 – Tigran