我的专栏中有逗号分隔的数据col1
,我有一个字符串数组
IEnumerable<string> year = {"1990","1991","1992","1993","1994","1995","1996","1997","1998","1999","2000"}
我试过以下
searchfrom = searchfrom.Where(x => years.Contains(x.col1.Replace(',', ' '))).ToList();
和
searchfrom = searchfrom.Where(x => years.Contains(x.col1)).ToList();
我想要那个匹配任何&#34;年&#34;进入&#34; col1&#34;
答案 0 :(得分:3)
要优化此类查询,您应首先将years
集合转换为哈希集。
var years = new HashSet<string>(new [] { "1990", "1991", ... });
在Where
子句中,您需要拆分可以使用x
的每条记录x.Split(',')
的内容。然后,您需要检查years
集合中是否包含这些子部分。
var result = searchfrom.Where(x =>
x.Split(',').Any(years.Contains)
).ToList();