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);