如何使用 linq 投影并投影到根投影对象上的子集合中

本文关键字:投影 子集合 对象 何使用 linq | 更新日期: 2023-09-27 18:35:57

我正在尝试这样做....

var entity = landingPages.Select(x = new MyClass { name = x.name, age = x.age });

唯一的问题是年龄实际上是一个酷,所以我想我会这样做......

var entity = landingPages.Select(x = new MyClass { name = x.name, age.add(x.age) });

但它不起作用。这可能吗?

如何使用 linq 投影并投影到根投影对象上的子集合中

var entity = landingPages.Select(x => new MyClass
{  //this is an initialization block.  Only Property Assignment is allowed.
  name = x.name,
  age.add(x.age)  //arbitrary statements are not allowed in initialization blocks.
});

你没有说哪个年龄是一个集合(LandingPage的年龄或MyClass的年龄)。

如果是 LandingPage 的年龄,则:将单个值转换为集合。

IEnumerable<MyClass> query = landingPages.Select(x => new MyClass
{
  name = x.name,
  age = new List<int>() { x.age } //this is a collection initializer
});

如果是 MyClass 的年龄,则:将集合转换为单个值。

IEnumerable<MyClass> query = landingPages.Select(x => new MyClass
{
  name = x.name,
  age = x.age.Sum()
});