首页 > 解决方案 > LINQ - 字符串的一部分包含在列表元素中

问题描述

我有一个数据库,其中的一列可以包含用逗号分隔的值,如:

madrid, barcelona, paris
rome
paris
amsterdam, madrid
florence, tokyo
paris, barcelona
milan
london, edinburgh
....

然后我有一个列表:

var listTarget = new List<string>{"paris", "amsterdam", "rome"};

在 LINQ 中,我想提取在 listTarget 中至少包含一个值的所有行,因此结果将是:

madrid, barcelona, paris
rome
paris
amsterdam, madrid

任何人都可以帮助我吗?

标签: listlinqcontains

解决方案


您可以使用分隔符(在本例中为“,”)进行拆分并比较列表。例如,

.Where(x=> x.City.Split(',').Any(c=> listTarget.Contains(c.Trim())));

推荐阅读