0

SPを介して入力された他の列の中で次のような列を持つデータリーダーがあります。

ColX    ColY   ColZ 
NYC     100    200
NYC     101    200
EWR     100    200
EWR     100    200

この結果を繰り返し処理し、ColX、ColY、ColZの組み合わせで重複するたびにメールを送信するなどのアクションを実行しようとしています。上記の例ではEWR-100-200

このデータをC#で返すSPを制御できない場合、これを実現するための効率的な方法は何ですか?

4

1 に答える 1

1

Hashset<string>メールを送信したアイテムのキーを保持するためのを作成します。次の方法でキーを作成できます。

string key = ColX.ToString() + ColY.ToString() + ColZ.ToString();

それで:

var keysUsed = new Hashset<string>();
while (reader.Read())
{
    // Assuming you got the values from the columns...
    string key = ColX.ToString() + ColY.ToString() + ColZ.ToString();
    if (keysUsed.Add(key))
    {
        // send email
    }
}

ここでのポイントは、アイテムがに追加された場合keysUsed.Addに戻るということです。キーがすでに存在する場合、メソッドはを返します。trueHashsetfalse

于 2012-08-30T21:09:54.887 に答える