我的文件夹包含100多个zip文件。我想从文件夹中选择随机6个zip文件。
我试试:
DirectoryInfo test= new DirectoryInfo(@"C:\test").GetFiles();
foreach (FileInfo file in test.GetFiles())
{
Random R = new Random(); //try to apply random logic but fail.
if (file.Extension == ".zip")
{
string a="";
for (int ListTemplate = 0; ListTemplate < 6; ListTemplate++)
{
a += file.FullName; //Want to choose random 6 files.
}
}
}
有没有办法做到这一点。谢谢你的帮助。
答案 0 :(得分:2)
为此,您需要随机化文件的排序顺序。
使用显示的排序in this answer(如果需要,您也可以使用更多的加密方法)
var rnd = new System.Random();
var files = Directory.GetFiles(pathToDirectory, "*.zip")
.OrderBy(x => rnd.Next())
.Take(numOfFilesThatYouWant);
然后,您可以评估files
中的foreach
。它应该以随机顺序给出您要处理的文件数。