我正在研究一个C#脚本,它必须在运行时访问一个随机文件,问题是文件是由其他来源动态生成的,我无法知道他们的名字,我已经解决了第一个问题是获取工作目录中有多少文件:
s = @"C:\Imagenes";
System.IO.DirectoryInfo d = new System.IO.DirectoryInfo(s);
int files;
files = d.GetFiles().Length;
Debug.Log(files.ToString());
return files;
现在我想在我的工作指南中访问一个随机元素,但由于我不知道他们的名字是什么,有没有办法通过索引或其他东西获取他们的名字?
答案 0 :(得分:6)
DirectoryInfo.GetFiles将为您提供fileInfo对象的数组。从那里你可以使用FileInfo.Name
获取文件名答案 1 :(得分:1)
您需要使用FileInfo
返回的d.GetFiles()
个对象:
DirectoryInfo d = new DirectoryInfo("c:\\path");
foreach (FileInfo file in d.GetFiles())
{
string name = file.Name;
}
答案 2 :(得分:0)
试
FileInfo[] fileinfos = d.GetFiles();
foreach (FileInfo FI in fileinfos)
{
string fullname = FI.FullName;
string name = FI.Name;
// do someting...
}
见
答案 3 :(得分:0)
不确定为什么你想要一个随机文件,但这应该有效(除了在计算长度和获得一个rondom之前删除文件)
int length = d.GetFiles().Length;
Random rnd = new Random();
var randomFile = d.GetFiles().ElementAt(rnd.Next(0, length-1);