0

ヘッダーのリストで構成される解析済みデータを保持するC#プログラムを作成しました。このプログラムには、文字列で表されるIDのリストが含まれています。

メール:リスト<ヘッダー>; ヘッダー:List <IDs>

// 1つのランダムID(約100から最大2000)は、インデックス内の1つのヘッダーを一意に識別します。解析したすべてのIDをサーバーにアップロードします。サーバーはインデックスでIDを検索し、対応するヘッダーを削除して、削除したIDとインデックスにないIDを含むログファイルを書き込みます。

次のステップは、削除されたIDのLogFileを解析し、コンパイルで同等のIDを見つけて、そのヘッダーを削除済みとしてマークすることです。

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

ここでは、キーまたは値としてを使用してデータを保持するためにディクショナリを使用するのが妥当と思われます。これにより、検索がほぼ瞬時に行われます。IDEmailHeader

于 2013-02-26T16:18:33.080 に答える