C# 如何查找字符串的一部分是否属于列表

C# 如何查找字符串的一部分是否属于列表,c#,string,list,linq,C#,String,List,Linq,我的名单如下: readonly List<string> carMake = new List<string> { "Toyota", "Honda", "Audi", "Tesla" }; 现在,我想使用strOutput和carMake来确保字符串是正确的汽车制造。如何使用Linq实现这一点 我想: 当strOutput=Project

我的名单如下:

 readonly List<string> carMake = new List<string>
        {
            "Toyota",
            "Honda",
            "Audi",
            "Tesla"
        };
现在,我想使用strOutput和carMake来确保字符串是正确的汽车制造。如何使用Linq实现这一点

我想:

当strOutput=Project1:Toyota:Corolla时返回true,因为Toyota在列表中 当strOutput=Project1:Foo:Corolla作为Foo不在列表中时返回false 使用带谓词的方法检查carMake列表中的任何字符串是否包含在strOutput中:

或者,如果运行时字符串始终采用该格式,则可以按“:”拆分,并与中间的值进行比较:

string runtimeValue = strOutput.Split(':')[1];
return carMake.Contains(runtimeValue);

为了准确起见,他还可以用:,和车上的第二根弦进行比较,从而做出他能做的事情。我将编辑我的答案并将其包括在内,首先将字符串解析为一个对象或至少一个元组,然后使用对象的属性进行检查
return carMake.Any(i => strOutput.Contains(i));
string runtimeValue = strOutput.Split(':')[1];
return carMake.Contains(runtimeValue);
List<string> carMake = new List<string> { "Toyota", "Honda", "Audi", "Tesla" };
string strOutput = "Project1:Toyota:Corolla";

string carBrand = strOutput.Split(':')[1];

bool result = carMake.Contains(carBrand);