0

如何在一个 linq 语句中执行此代码?

即将所有 linq 语句的结果添加到一个大枚举中

List<Type> alltypes = new List<Type>();
var assemblies = AppDomain.CurrentDomain.GetAssemblies();

foreach (var assembly in assemblies) 
{
    foreach (var type in assembly.GetTypes()) 
    {
    alltypes.Add(type);
    }
}
4

1 回答 1

3

听起来你想要:

var allTypes = AppDomain.CurrentDomain.GetAssemblies()
                        .SelectMany(assembly => assembly.GetTypes())
                        .ToList();

SelectMany当一个“输入”项(本例中为程序集)用作多个其他项(本例中为类型)的源时使用。

如果您希望在查询表达式中使用它:

var allTypes = (from assembly in AppDomain.CurrentDomain.GetAssemblies()
                from type in assembly.GetTypes()
                select type).ToList();
于 2013-09-21T20:14:04.437 回答