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.Addtrue项目添加到Hashset. 如果密钥已经存在,该方法将返回false

于 2012-08-30T21:09:54.887 回答