我有这个Linq,我试图将元素设置为哈希集却无法正常工作,缺少了什么?当我调试结果时,总是向我显示该属性为空

var estructura = (from result in query
       select new Estructura()
       {
           IdEstructura = result.Servicio.Campana.Cliente.Direccion.IdDireccion,
           Descripcion = result.Servicio.Campana.Cliente.Direccion.Descripcion,
           lstEstructurasHijos = new HashSet<Estructura>().Select(
            C => new Estructura()
            {
                IdEstructura = result.Servicio.Campana.Cliente.IdCliente,
                Descripcion = result.Servicio.Campana.Cliente.Descripcion,
                lstEstructurasHijos = new HashSet<Estructura>().Select(
                 CA => new Estructura()
                 {
                    IdEstructura = result.Servicio.Campana.IdCampana,
                    Descripcion = result.Servicio.Campana.Descripcion,
                    lstEstructurasHijos = new HashSet<Estructura>().Select(
                    S => new Estructura()
                    {
                        IdEstructura = result.Servicio.IdServicio,
                        Descripcion = result.Servicio.Descripcion,
                        lstEstructurasHijos = new HashSet<Estructura>()
                    })
                 })
            })

       });

最佳答案

您正在像这样在select上滥用HashSet

new HashSet<Estructura>().Select(//... Means take from that new HashSet....


当然,新的HashSet将不包含任何内容。这就是为什么您会得到空的HashSet的原因。

10-07 20:07
查看更多