我试图从文件夹中随机选择一定数量的文件。例如,如果一个文件夹有100个文件,我想随机选择40个文件,而不是前40个。
string sourceFolder = //unc path;
var dir = new DirectoryInfo(sourceFolder );
var allFiles = dir.GetFiles("*.pdf");
int fileCount = allFiles.Length; // 100 files
int folderOne = 60;
int folderTwo = 40;
if (fileCount > 0)
{
// select 60 files randomly and move them to folderOne
}
我试着在C#中使用Random函数,但我无法理解。
var random = new Random();
int index = random.Next(0, fileCount - 1);
var file = allFiles[index].FullName;
如有任何帮助,我们将不胜感激。感谢
随机化文件的顺序,然后可以简单地将前60个复制到一个位置,将后40个复制到其他位置。
例如
var rnd = new Random();
var shuffled = allFiles.OrderBy(f => rnd.Next()).ToList();