VB.NET:是否有使用按位逻辑运算符在记录中查找匹配项的替代方法?

问题描述

在我的一些 Enterprise VB 应用程序中,无论是 Windows 还是 ASP.NET,都会生成各种报告,使用逻辑 AND 来确定这些报告的收件人。每个报告都分配了一个二进制编码的整数(因为没有更好的术语),即 1、2、4、8、16 等。收件人位于 sql 数据库表中,其中包括一个字段,用于确定每个收件人的报告接收,即接收者 Snuffy Smiff 接收所有分配了二进制编码整数 1、4 和 16 的报告。然后,在接收者表中,Smiff 先生的报告字段包含这些整数的总和,即值 21。>

当报表 #4 运行时,它将遍历收件人列表并执行逻辑 AND,并将 Smiff 先生包括在收件人列表中,因为数字 21 ANDed with 4 次测试 TRUE。但是当报告 #8 运行时,Smiff 先生没有被列入名单,因为 8 AND 21 是 FALSE

我希望我已经充分解释了这一点。

现在我的问题是报告列表不断增长,而且它的时间比我预期的要长。当前有 15 份报告,因此报告 #15 的二进制整数已增加到 16384,并且每增加一份报告,该数字就会翻倍。如果这样下去,它甚至会比服务器可以处理的还要大。

我的问题是,是否有替代方法可以用于选择不会导致算术溢出的收件人?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)