首页
学习
活动
专区
圈层
工具
发布

关键字
EN

Stack Overflow用户
提问于 2014-08-15 07:04:23
回答 2查看 231关注 0票数 0

在select子句中,是否可以在select子句中指向其他级别的对象,或者是否有任何特殊的关键字要指向。如果不是,如何使用select子句来解决这个问题。

代码语言:javascript
复制
list.Select(o => new ParentClass {
   ID = o.ID,                            
   ChildClass = o.Childs.Select(p => new ChildClass { 
                                     Parent = @this,
                                     ID = p.id 
                               }).ToList()
});
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-08-15 07:11:38

不,你不能。因为还没有创建ParentClass实例。你需要下面这样的东西。

代码语言:javascript
复制
list.Select(o =>
{ 
   var parent = new ParentClass
    {
        ID = o.ID
    };
    parent.ChildClass = o.Childs
                        .Select(p =>
                           new ChildClass 
                           { 
                               Parent = parent,
                               ID = p.id 
                           })
                         .ToList();
     return parent;
});
票数 6
EN

Stack Overflow用户

发布于 2014-08-15 07:11:40

您不能使用对象初始化程序来完成此操作。

代码语言:javascript
复制
list.Select(o => 
    {
        var pc = new ParentClass();
        pc.ID = o.ID;
        pc.ChildClass = o.Childs.Select(p => new ChildClass 
            { 
                Parent = pc,
                ID = p.id 
            }).ToList();
        return pc;
    });
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25322470

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档