我正在重构以下语句。
IEnumerable<String>
input = ...,
filter = ...,
output = input.Where(filter.Contains(element));
目前,它按预期工作,但以这种方式匹配的单词需要准确。在我的客户的语言中,有很多变位,并且要求使用百搭字符(“dog”应该匹配“dog”、“doggy”和“dogmatic”)。
我建议进行以下更改。不过,现在可以肯定的是,如果它可以被视为对眼睛来说是光滑的。有人可以提出改进建议还是尽可能好?
IEnumerable<String>
input = ...,
filter = ...,
output = input.Where(word => filter.Any(head => word.StartsWith(head)))
我正在考虑IEqualityComparer实现,但这仅适用于相同类型的对象,而我的条件是String contra IEnumerable。