我在C:\
中的一个文件夹中有5张图片图片命名为pic(1)至(5)
我希望程序显示该文件夹中的第一张图片,然后转到下一张。
我可以通过声明一个字符串" path"和一个int" nextNumb"并在计时器内部构建一个代码,其中" nextNumb"每次代码运行时都会增加,并将路径从(1)更改为(2)到(3)等等......
但这是效率低下我想以某种方式阅读/打开文件夹中的图片并按照设置的顺序显示它们。
答案 0 :(得分:0)
您可以使用此命令“Directory.GetFiles(targetDirectory);”
读取目录中的所有文件https://msdn.microsoft.com/de-de/library/07wt70x2(v=vs.110).aspx
以下是提取文件编号并按编号
排序的示例static void Main()
{
var files = Directory.GetFiles(@"your Path");
var items = files.OrderBy(o => ExtractNumber(o)).ToList();
}
private static int ExtractNumber(string filePath)
{
//file name structure -> "pic(1).jpg"
var startIndex = filePath.IndexOf('(');
if (startIndex == -1)
{
return -1;
}
var endIndex = filePath.IndexOf(')', startIndex);
if (endIndex == -1)
{
return -1;
}
var tempNumber = filePath.Substring(startIndex + 1, endIndex - startIndex - 1);
if (int.TryParse(tempNumber, out int fileNumber))
{
return fileNumber;
}
return -1;
}