在巨大的字符串编译中找到等效的字符串



我写了一个c#程序,它保存由头列表组成的解析数据,而头列表又携带一个用String表示的id列表。

Email: List;标题:List

//一个随机ID(大约100个,最多2000个)唯一标识索引中的一个头。我上传我解析的所有id到服务器,反过来搜索索引的id,删除相应的头和写一个日志文件与它删除的id和id不在索引上。

我的下一步是解析LogFile中删除的id,并在我的编译中找到等效的id,并将其头标记为已删除。

日志解析的结果是一个包含所有成功删除的id的数组。

所以它看起来像这样:

foreach(string deletedID in deletedIDs){
   foreach(EMail mail in mails){
      foreach(Header header in mail.headers){
          if(header.Deleted == false){
             for(string iD in header) {
                if(deletedID == iD) header.Deleted = true;
             }
          }
      }
   }
}

我在想,是否有更有效的方法来做到这一点(甚至更多的方法)

使用Dictionary来保存使用ID作为键和EmailHeader作为值的数据在这里似乎是合理的。这使得你的搜索几乎是即时的

最新更新