C#检查剪贴板是否包含重复项

C#检查剪贴板是否包含重复项,c#,windows-7,C#,Windows 7,我有一个代码,从随机更新的数据源一次将30个字符串复制到剪贴板;有时在一秒钟内就有上百个新字符串,有时几分钟内没有更新。我想通过套接字将所有字符串发送到数据库。通过套接字发送字符串而不发送重复项的最有效方法是什么 一种简单但有效的方法是在将字符串发送到DB之前使用LINQ检查并删除重复项: string[] original; //the array where all the string from your clipboard are in string[] newStrings = or

我有一个代码,从随机更新的数据源一次将30个字符串复制到剪贴板;有时在一秒钟内就有上百个新字符串,有时几分钟内没有更新。我想通过套接字将所有字符串发送到数据库。通过套接字发送字符串而不发送重复项的最有效方法是什么

一种简单但有效的方法是在将字符串发送到DB之前使用LINQ检查并删除重复项:

string[] original; //the array where all the string from your clipboard are in

string[] newStrings = original.Distinct().ToArray();

通过这种方式,您可以消除原始
中的所有重复字符串

,这取决于它们的存储方式。想详细说明一下吗?这里有问题吗?如果不是,为什么不让数据库处理重复的字符串?如果字符串非常大,您可以尝试使用Bloom筛选器来保证不重复的字符串集,然后您可以从可能重复的剩余字符串中找出重复的字符串。但是每秒100个字符串x100个unicode字符=19kb/s,这并没有那么大的带宽…@tomfanning我目前将它们存储为String@BastiM带宽不是问题,但数据库已经处于非常重的负载之下,我不想添加到它