当前位置: 移动技术网 > IT编程>开发语言>.net > LINQ重写博客垃圾图片回收算法

LINQ重写博客垃圾图片回收算法

2017年12月12日  | 移动技术网IT编程  | 我要评论
思路很简单,从所有blog model中解析出所有文章使用的图片文件名,排除站外引用,放入一个list<string> usedpiclist。再遍历图片上传文
思路很简单,从所有blog model中解析出所有文章使用的图片文件名,排除站外引用,放入一个list<string> usedpiclist。再遍历图片上传文件夹,把所有图片文件的结果加入fileinfo[] fiallpiclist。然后比较usedpiclist和fiallpiclist,找出所有fiallpiclist中有,而usedpiclist中木有的图片,就是未被任何文章引用的垃圾图片了。
原先这个比较算法是用传统方法写的,很蛋疼,用了两重循环,一个标志位才解决问题:
复制代码 代码如下:

list<fileinfo> garbagepiclist = new list<fileinfo>();
for (int k = 0; k < fiallpiclist.length; k++)
{
bool found = false;
for (int l = 0; l < usedpiclist.count; l++)
{
if (fiallpiclist[k].name == usedpiclist[l].tostring())
{
found = true;
}
}
if (!found)
{
garbagepiclist.add(fiallpiclist[k]);
}
}

今天用linq重写了一下:
复制代码 代码如下:

list<fileinfo> garbagepiclist = new list<fileinfo>();
var query = from pic in fiallpiclist
where !usedpiclist.contains(pic.name)
select pic;
garbagepiclist = query.tolist();

清晰明了

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网