【问题标题】:Adding to list<objcect> with foreach loop使用 foreach 循环添加到 list<object>
【发布时间】:2019-05-28 10:42:22
【问题描述】:

有可能是这样的吗?我已经很努力了,但我认为不可能,希望有人能帮助我。

我必须像这样填充对象,

var obj = new 
{
  parentObj = new List<object>()
  {
     outsideArray.ForEach(x=>
     {

     })
  }
}

我不喜欢这个。

 var obj = new 
    {
        parentObj= new List<object>()
        {
            new object() { bla, bla }
        }
    }

我想做。

var obj {
    Id =1,
    Name= "any",
    Address = new {
        userAddressList.forEach(x=> {
            Town = x.town,
            State = x.state
        }
    }
}

【问题讨论】:

  • 你想达到什么目的?这不是你喜欢什么,而是语法。

标签: c# initialization generic-list object-initializers


【解决方案1】:

第二个和第三个代码sn-ps中的代码不符合C#语法。
但是,您可以使用 LINQ 来填充您的数组,与第三个 sn-p 中显示的内容非常相似:

var obj = new
{
    Id = 1,
    Name = "any",
    Address = userAddressList.Select(x => 
    {
        Town = x.town,
        State = x.state
    })
};

【讨论】:

  • 其实我不要,userAddressList是数组
  • @caras 你这是什么意思?我只是根据您显示的内容将您的代码转换为功能代码。即使 userAddressList 是一个数组(您可能是指它是一个列表或 IEnumerable),它也可能没有您想要的正确结构,因此我使用 .Select() 来选择所需的值并正确分配它们。
  • 我的意思是,我已经知道了。我想换一种方式。我敢肯定有不同的方式。
猜你喜欢
  • 1970-01-01
  • 2014-02-14
  • 1970-01-01
  • 2013-09-04
  • 2018-07-17
  • 2019-02-02
  • 2012-07-09
  • 2014-05-13
  • 1970-01-01
相关资源
最近更新 更多