【发布时间】:2017-12-06 15:14:12
【问题描述】:
我正在尝试过滤代理类型的对象列表。这是它的属性。
Public Property IP As String
Public Property Port As Integer
Public Property Status As ProxyStatus
Public Property Country As String
Public Property Speed As Integer
在过滤器表单上,我有一个带有国家/地区名称的 CheckListBox,如果选中了一个国家/地区,它应该包含在过滤结果中。
我知道我可以像这样使用硬编码的 LINQ:
Dim result = proxies.Where(Function(p) p.Country = "USA" OR p.Country =
"Russia")
但由于我的查询是动态的,具体取决于在用户表单上检查的国家/地区,当我想在结果中包含 50 个国家/地区时,我该如何处理?我已经阅读过有关 PredicateBuilder 的信息,但我没有找到包含逻辑 OR 的示例,例如,如果我通过 Status 属性进行过滤并且我想包含 Status = Valid OR Status = Unknown 的代理?
【问题讨论】: