内部LINQ查询

时间:2018-03-25 11:21:11

标签: c# linq

我有一个方法如下

private void RegisterServices(IServiceCollection serviceCollection, Container container, string solutionPrefix)
{
   var types = AppDomain.CurrentDomain.GetAssemblies()
                .Where(a.FullName.StartsWith(solutionPrefix))
                .SelectMany(x => x.GetTypes())
                .Where(x => !x.IsAbstract && !x.IsGenericTypeDefinition);
   //Rest of the code...
}

现在我想以 solutionPrefix 参数是一个字符串数组的方式重构代码,并在第一个Where子句中选择其名称以其中的任何项开头的所有程序集。 solutionPrefix数组。

1 个答案:

答案 0 :(得分:5)

您可以使用Any扩展方法的此重载。

.Where(x => solutionPrefix.Any(e => x.FullName.StartsWith(e)))