【发布时间】:2020-01-03 22:16:04
【问题描述】:
我有一个车辆列表,其中包含各种字段,例如注册、年龄、发动机尺寸等。其中一个字段是 “tag” 字段,它本身是一个标签列表。
我正在尝试过滤此车辆列表,以仅显示包含与单独 neededTags 列表中的值匹配的标签的车辆。
我正在尝试使用 Linq 和 Lambda 表达式来做到这一点。
我已经设法在主列表中的标记字段只是一个普通字符串字段,而不是字符串列表的情况下让它工作。代码在这里:
filteredVehicles = Vehicles.Where(x => neededTags.Any(y => y == x.tags)).ToList();
其中neededTags 是我感兴趣的标签列表。
我现在的问题是,如果车辆列表中的 Tag 元素实际上是标签列表,那么上面的比较元素会显示“运算符 '==' 不能应用于 'string' 和 'List' 类型的操作数”
我想我需要将 Vehicles Tag 列表中的每个元素与 requiredTags 列表中的元素进行比较,但我就是不知道该怎么做。
非常感谢任何帮助。
【问题讨论】: