Outlook.MailItem - 有没有办法确定两个mailitems(发送给不同的收件人)是否相同?

时间:2012-02-02 10:48:15

标签: c# outlook comparison

我想知道是否有办法比较两个Outlook.MailItem以查看它们是否相同。

例如,如果我们公司的两个人收到相同的电子邮件,是否有办法比较它们是否相同?

我正在考虑比较以下属性:

SubjectToFromCCBody

这可能会在99%的时间内起作用,但随着数据库变得越来越大,这个例程会越来越慢。

有没有更好的方法来实现这个目标?

2 个答案:

答案 0 :(得分:3)

如果要存储值,则可以使用您声明的属性,使用属性的哈希码。然后,您可以将其设为索引列,以提高搜索和检索性能。

所以我想在C#:

var mailHash = String.Format("{0}{1}{2}{3}{4}", mail.To, mail.From, mail.CC, mail.Subject, mail.Body).GetHashCode();

这会对你有用吗?

干杯,
克里斯。

答案 1 :(得分:1)

您应该使用系统真正使用的哈希函数,而不是创建自己的哈希函数。对于Exchange项目,您可以检查项目的EntryID以获取项目的Exchange ID。我认为它对于本地PST来说也是独一无二的,但你应该确保这一点。