[英]Image Viewer removing items from listbox that not image
我有这个代码
var dirInfo = new DirectoryInfo(currentDir);
DirectoryInfo di = dirInfo;
FileInfo[] fia = di.GetFiles();
FileInfo t = null;
for (int p = 0; p <= fia.Length - 2; p++)
{
for (int i = 0; i <= fia.Length - 2; i++)
{
if (fia[i].LastWriteTime < fia[i + 1].LastWriteTime)
{
t = fia[i + 1];
fia[i + 1] = fia[i];
fia[i] = t;
}
}
}
foreach (FileInfo fi in fia)
{
listBoxImages.Items.Add(fi.Name);
}
它在通过写入时间添加到 ListBox 之前对文件进行排序,但是在将其添加到 ListBox 之前,它无法删除不是图像的文件。 我已经尝试了许多我用谷歌搜索过的解决方案,但对我没有任何帮助。
好的,我找到并使用了这个:
FileInfo[] fia = di.GetFiles("*.bmp")
.Union(di.GetFiles("*.jpg"))
.Union(di.GetFiles("*.png"))
.Union(di.GetFiles("*.jpeg"))
.Union(di.GetFiles("*.tiff"))
.ToArray();
所以代码看起来像:
var dirInfo = new DirectoryInfo(currentDir);
DirectoryInfo di = dirInfo;
FileInfo[] fia = di.GetFiles("*.bmp")
.Union(di.GetFiles("*.jpg"))
.Union(di.GetFiles("*.png"))
.Union(di.GetFiles("*.jpeg"))
.Union(di.GetFiles("*.tiff"))
.ToArray();
FileInfo t = null;
for (int p = 0; p <= fia.Length - 2; p++)
{
for (int i = 0; i <= fia.Length - 2; i++)
{
if (fia[i].LastWriteTime < fia[i + 1].LastWriteTime)
{
t = fia[i + 1];
fia[i + 1] = fia[i];
fia[i] = t;
}
}
}
foreach (FileInfo fi in fia)
{
listBoxImages.Items.Add(fi.Name);
}
美丽的
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.