检查列表是否包含在字符串属性中?

时间:2018-05-26 15:27:47

标签: c# asp.net entity-framework linq linq-to-entities

SCENARIO 我有一个具有不同数量属性的类。其中一个是字符串。

目的 检查该属性中是否包含字符串列表。

示例 字符串属性可以是汽车的描述,如:

  

“雪佛兰100拥有3000cc,使用250Cv。包括55/95轮胎   在价格。只为2 PAX ......等......“

检查清单可以是:

  

“3000cc”,“250Cv”,“55/95轮胎”

所以我的代码是:

R

作为例子我试过:

         Class_A
int      id
int      price
string   definition

Class_A car = new Class_A()
{
    id = 1,
    price = 100000,
    definition = "Chevrolet 100 has 3000cc, using 250Cv. The 55/95 tires are 
    included in the price. Just for 2 PAX... etc ..."
}

List<string> checkingList = new List<string>();
checkingList.Add("3000cc");
checkingList.Add("250Cv");
checkingList.Add("55/95 tires");

先谢谢你的配偶。

1 个答案:

答案 0 :(得分:1)

假设您有一个名为cars的{​​{1}},请使用Any方法检查checkingList属性中是否找到definition中的任何项:

cars.Select(p => checkingList.Any(y => p.definition.Contains(y)).FirstorDefault();

如果您需要确保checkingList中的每个字符串都在definition属性中,请使用All代替Any