【问题标题】:How to select new object set property = other property value如何选择新的对象集属性=其他属性值
【发布时间】:2017-09-04 19:04:29
【问题描述】:

我英语不好,标题设置有困难。而且我不知道关键字才能找到我需要的东西。

我想要以下:

var newList = listUsers.Select(x => new { x.Name = x.Old});

但我收到这样的错误:

匿名类型成员声明器无效。匿名类型成员必须 使用成员分配、简单名称或成员访问来声明。

注意:我不想要以下内容

var newList = listUsers.Select(x => new { Name = x.Name, Old = x.Old});

更新:我的最终目标是输出如下格式:

var arr = [{
            John Doe: 19,
            David: 23,
            David: 26
        }, {

            John Doe: 27,
            David: 22,
            David: 24
        }];

用户名列表是动态的

【问题讨论】:

  • 好吧,你能解释一下你想要什么吗?如果你想要新对象,你可以使用Anonymous type 或类似的类,如果你想分配一个新值,你可以使用foreach

标签: c# linq


【解决方案1】:

只需从 Anonymous 类型成员的第一个名称中删除 x

var newList = listUsers.Select(x => new { Name = x.NameNew});

或者如果你想用NameNew 更新所有Name 属性,你需要return x; 也像这样(在这种情况下不要使用new 关键字):

var newList = listUsers.Select(x => { x.Name = x.NameNew;return x; });

【讨论】:

  • 我要设置value Name = x.NewName 例如:Jonh Doe = "New Name"
  • @TranAudi 这将设置Name = New Name。有什么问题?
  • @TranAudi 这将创建一个匿名类型,其属性名为Name,其值为x.NameNew
  • @TranAudi 检查我更新的答案。这是另一种方法。我认为这就是你想要的。
  • 嗨。看来我被误解了,你误会了,我已经更新了我的问题,请查看并帮助我,谢谢
猜你喜欢
  • 1970-01-01
  • 2015-02-12
  • 2011-01-27
  • 1970-01-01
  • 2021-11-23
  • 1970-01-01
  • 2018-03-01
  • 2018-11-03
  • 2018-07-07
相关资源
最近更新 更多