原先这个比较算法是用传统方法写的,很蛋疼,用了两重循环,一个标志位才解决问题:
复制代码 代码如下:
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();
清晰明了
您可能感兴趣的文章:
如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!
网友评论