首页 > 解决方案 > 查找字符串是否在其他字符串中

问题描述

我有一个包含单词的字符串。

string attrs = "AAA,BBB,CCC,DDD"

我有对象列表,我想检查其中一个对象是否存在于该字符串中,如果不存在则过滤掉该对象

List<Vehicle> vehiclesSort = new List<Vehicle>();

所以我试图做这样的事情:

vehiclesSort = vehiclesSort.Where(o => o.Class.Contains(attrs))

但得到编译错误,

此外,我需要检查 attrs 中是否存在 Class 属性,而不是 Class 属性中是否存在 attrs,所以我认为我的方向不正确

请协助,

标签: c#linq

解决方案


我稍微修改了您的查询。这是一个例子:

List<Vehicle> vehiclesSort = new List<Vehicle>()
{
    new Vehicle() {Class="VW" },
    new Vehicle() {Class="BBB" },
    new Vehicle() {Class="BMW" },
    new Vehicle() {Class="DDD" },
    new Vehicle() {Class="AUDI" },
};

string attrs = "AAA,BBB,CCC,DDD";

vehiclesSort = vehiclesSort.Where(x => attrs.Split(',').Contains(x.Class)).ToList();

Vehicle班级:

public class Vehicle
{
    public string Class { get; set; }
}

在这里演示


推荐阅读