在 Linq 表达式中使用子字符串



>我试图在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)));

相关内容

  • 没有找到相关文章

最新更新