0

我正在使用下面的代码片段来解析表单中的邮政编码列表,然后构建一个谓词以从实体返回与解析列表中的任何邮政编码匹配的记录。

List<string> zips = ParseCSV("90210,56387,20015");
predicate = predicate.And(n => zips.Contains(n.ZIP));

现在出现了一个新要求,即逗号分隔的列表可能包含部分邮政编码,并且这些邮政编码也应该返回。我通常会用包含来做到这一点。 n.ZIP.Contains("902")

但是如果拉链列表现在变成如下:

List<string> zips = ParseCSV("902,56387,215"); 
predicate = predicate.And(n => zips.Contains(n.ZIP));

当我已经在拉链上做一个包含时,我不知道该怎么做。有什么建议么?

TIA

4

1 回答 1

1

我认为这将检查是否有任何部分邮政编码,它包含在 ZIP 中:

predicate = predicate.And(n => zips.Any(z => n.ZIP.Contains(z)));
于 2012-12-13T18:45:17.573 回答