c# - 二进制搜索对象列表?

标签 c#

我有一个 List<Discount>包含大约 100000 个折扣值。在这里,折扣是一个类,我有一个 List<Product>其中有大约 200000 条记录。

我有一个 for each 遍历 List<Product> 的所有记录. 对于通过产品列表的每次迭代,我从产品项目中获取一些值并将其添加到包装类。这个包装类还包含一个字段折扣,对于每个产品,我必须遍历所有获得的折扣。

遍历此产品列表存在问题,它需要花费大量时间。 让这个更快的最好方法是什么?

我在考虑二分查找,但发现它很难实现?

关于如何解决这个问题有什么建议吗?

最佳答案

如果您需要快速查找折扣值,List 可能是错误的数据结构。考虑使用类似 Dictionary 的东西,专为此目的而设计。

关于c# - 二进制搜索对象列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4133215/

相关文章:

c# - Define() (PHP) 替代 ASP.NET (C#)

c# - 是否可以通用地实现这个接口(interface),以便它只能传递一个类型参数?

c# - ReSharper 表示此表达式始终为真。为什么?

c# - Azure Service Fabric 消息队列

c# - AspNetCore 中的版本冲突

c# - SQL命令参数必须声明变量错误

c# - Selenium RC 查找在类开头具有特定字符串的元素

c# - 核心中的 NTLM 身份验证 HttpClient

c# - 在 .Net 中创建提醒服务的最佳方式是什么?

c# - C# Windows 窗体的类似表的控件