ファイルを解析し、結果をC#のリストに保存します。次に、DBクエリのすべての結果を別のリストに解析します。2つのリストの一致を比較し、結果を別のリストに保存して出力ファイルを書き込みたいと思います。2つのリストを比較する方が、ファイル内のレコードが約16kであるため、各人に対して毎回DBに対してクエリを実行するよりも高速で優れていると思いました。
リスト1.リストfileListには、次のデータ型が含まれています。stringpersonsName
リスト2.リストDBresultsには、文字列personsName、文字列アドレス、文字列phoneNumberのデータ型が含まれています
リスト1とリスト2を比較して一致するものを見つけ、結果を別のリストに送信して出力を書き込もうとしています。リスト2では、1人あたり複数の結果になる可能性があるため、すべてのインスタンスを見つける必要があります。
このようなLINQクエリから始めましたが、私はLINQのマスターではないため、サポートが必要です。
var matches = fileList.Where(a=>a.personsName == DBResults.where(s=>s,personsName).toList();
あなたがより速い方法を持っているかもしれないとあなたが思うならば、私は他の提案にもオープンです。IDctionarysとHashtablesは高速ルックアップテーブルであることは知っていますが、3つのデータ型があるため、キーと値のペアを実行できません。