0

我编写了一个 C# 程序,它保存由一个标题列表组成的解析数据,该列表又包含一个用字符串表示的 ID 列表。

电子邮件:列表<标题>;标题:列表<IDs>

// 一个随机 ID(大约 100 但最多 2000)唯一标识索引中的一个 Header。我将我解析的所有 ID 上传到服务器,该服务器依次在索引中搜索 ID,删除相应的 Header 并使用它删除的 ID 和不在索引上的 ID 写入日志文件。

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

Logparsing 的结果是一个包含所有已成功删除的 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;
             }
          }
      }
   }
}

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

4

1 回答 1

1

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

于 2013-02-26T16:18:33.080 回答