• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    LINQ重写博客垃圾图片回收算法
    思路很简单,从所有Blog Model中解析出所有文章使用的图片文件名,排除站外引用,放入一个Liststring> usedPicList。再遍历图片上传文件夹,把所有图片文件的结果加入FileInfo[] fiAllPicList。然后比较usedPicList和fiAllPicList,找出所有fiAllPicList中有,而usedPicList中木有的图片,就是未被任何文章引用的垃圾图片了。
    原先这个比较算法是用传统方法写的,很蛋疼,用了两重循环,一个标志位才解决问题:
    复制代码 代码如下:

    ListFileInfo> garbagePicList = new ListFileInfo>();
    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重写了一下:
    复制代码 代码如下:

    ListFileInfo> garbagePicList = new ListFileInfo>();
    var query = from pic in fiAllPicList
    where !usedPicList.Contains(pic.Name)
    select pic;
    garbagePicList = query.ToList();

    清晰明了
    上一篇:asp.net下日期和时间处理的类库
    下一篇:C#多线程Singleton(单件)模式模板
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

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