>我试图在Linq表达式中使用子字符串,但无法使其工作。 这是我的代码:
CategoriesById =
new Dictionary<string, string>
{
{"eventType_1", "Super Classes"},
{"eventType_2", "Master Classes"},
{"eventType_3", "Talks"},
{"eventType_4", "Forums"}
};
IEnumerable<CustomerDto> result =
_jsonSerialiser.Deserialise<ImportDto>(xml).Imports;
var filteredResult = result
.Where(s => s.CategoryIds
.Any(i => CategoriesById.Keys
.Contains(i)));
以上有效,但我想匹配 s.CategoryId 的子字符串。s.CategoryIds 的类型为 IEnumerable。 因此,我无法使用.子字符串或拆分。 如何使用 .同一 Linq 中每个 s.CategoryId 的子字符串或拆分?
谢谢
您可以在 CategoriesById 上调用 where in Any:
var filteredResult = result
.Where(s => s.CategoryIds
.Any(i => CategoriesById.Keys.Where(c => c.Substring(3).Contains(i)));