像在C开始:\(或任何主要驱动器是),然后随机取路线? 甚至不知道该怎么做。
public sealed static class FolderHelper
{
public static string GetRandomFolder()
{
// do work
}
}
像在C开始:\(或任何主要驱动器是),然后随机取路线? 甚至不知道该怎么做。
public sealed static class FolderHelper
{
public static string GetRandomFolder()
{
// do work
}
}
尝试获得目录中的所有文件夹列表,然后生成一个随机数多达文件夹的数量,然后选择与您的随机数的文件夹。
System.IO.DirectoryInfo[] subDirs;
System.IO.DirectoryInfo root;
// assign the value of your root here
subDirs = root.GetDirectories();
Random random = new Random();
int directory = random.Next(subDirs.Length);
System.IO.DirectoryInfo randomDirectory = subDirs[directory];
我滚模具内,用这样的回答来了:
public static string GetRandomFolder()
{
return "4";
}
或者你可以使用Random.Next()。
首先,你需要的东西从,例如在目录中所有子目录来挑去,那么你需要指定父目录。 然后,你刚才得到的目录,并选择一个随机:
public static string GetRandomFolder() {
string parentFolder = @"c:\some\folder\somewhere";
string[] folders = Directory.GetDirectories(parentFolder);
Random rnd = new Random();
return folders[rnd.Next(folders.Length)];
}
如果你打算做其再次,你应该考虑一类的话,这样就可以在文件夹中读取和创建随机数生成器,并在类存储在创建类的实例,然后只在该方法中使用它们。
我用这个代码从一个给定的根文件夹的子文件夹树中的文件夹随机
private string GetRandomFolder(string root)
{
var rnd = new Random();
var path = root;
var depth = rnd.Next(0, 7);
for (int i = 0; i < depth; i++)
{
path = this.GetRandomFolder(path);
if (path == "")
break;
}
return output;
}
private string GetRandomSubFolder(string root)
{
var di = new DirectoryInfo(root);
var dirs = di.GetDirectories();
var rnd = new Random();
if (dirs.Length == 0)
return "";
return dirs[rnd.Next(0, dirs.Length - 1)].FullName;
}