首页 新闻 会员 周边 捐助

检索图片并赋值给picturebox过程中出了问题

0
悬赏园豆:10 [已解决问题] 解决于 2015-04-21 08:42

本人想检索指定目录下图片文件的创建时间,创建时间最新的文件赋值给picturebox1,是这样实现的:

 

 string pathPic = @"D:\气象站\图片"; 

public struct sFileInfo //定义结构
{
public string FileName;
public DateTime FileCreateTime;
}
private void 图片timer_Tick(object sender, EventArgs e)
{
DirectoryInfo d = new DirectoryInfo(pathPic);
int n = 0; //获取数组长度n
foreach (FileInfo f in d.GetFiles())
{
if (f.Name.Substring(f.Name.Length - 3, 3) == "jpg")
{
n++;
}
}
//定义数组,并对数组进行赋值
sFileInfo[] ArrFiles = new sFileInfo[n];
int i = 0;
foreach (FileInfo f in d.GetFiles())
{
if (f.Name.Substring(f.Name.Length - 3, 3) == "jpg")
{
ArrFiles[i].FileName = f.Name;
ArrFiles[i].FileCreateTime = f.CreationTime;
i++;
}
}
//对数组根据文件创建时间进行冒泡排序
sFileInfo FileInfoTemp;
for (int k = 0; k < n - 1; k++)
{
for (int j = k + 1; j < n - 1; j++)
{
if (DateTime.Compare(ArrFiles[k].FileCreateTime, ArrFiles[j].FileCreateTime) < 0)
{
FileInfoTemp = ArrFiles[k];
ArrFiles[k] = ArrFiles[j];
ArrFiles[j] = FileInfoTemp;
}
}
}
pictureBox1.Image = Image.FromFile(pathPic + " \\ " + ArrFiles[n - 1].FileName );
}

但在执行的过程中出现了问题:

 

 

 

请各位大神不吝赐教

贾晓俊AA的主页 贾晓俊AA | 初学一级 | 园豆:78
提问于:2015-04-20 17:40
< >
分享
最佳答案
0

1、错误原因:" \\ " 中间两个空格。

2、优化:

a、d.GetFiles后,获取一次就足够了。

b、GetFiles得到的是FileInfo,FileInfo有FullName,干吗不用这个呢?

3、看你的代码,你的CODER路还很长哪。

收获园豆:4
519740105 | 大侠五级 |园豆:5810 | 2015-04-20 19:17

谢谢大神指导

贾晓俊AA | 园豆:78 (初学一级) | 2015-04-21 08:41

大神有时间了指点一下呗,不怎么懂优化啊,

贾晓俊AA | 园豆:78 (初学一级) | 2015-04-21 08:53
其他回答(3)
0

空格那么大,我想去看看。

收获园豆:2
爱编程的大叔 | 园豆:30844 (高人七级) | 2015-04-20 17:56

谢谢大神指导

支持(0) 反对(0) 贾晓俊AA | 园豆:78 (初学一级) | 2015-04-21 08:41
0

空格就像个黑洞, 随时都能吸走不细心的程序猿

收获园豆:2
问天何必 | 园豆:3311 (老鸟四级) | 2015-04-20 19:15

谢谢大神指导

支持(0) 反对(0) 贾晓俊AA | 园豆:78 (初学一级) | 2015-04-21 08:41
0

一大篇的重复动作,看来资源很充足嘛。

收获园豆:2
| 园豆:780 (小虾三级) | 2015-04-20 22:39

谢谢大神指导

支持(0) 反对(0) 贾晓俊AA | 园豆:78 (初学一级) | 2015-04-21 08:40
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册