假设我有一个对象列表Cat {名称,年龄,大小,重量等}.现在让我们想象一下List猫.我想要做的是创建一个新的CatDataView列表:
cats.Select(cat => new CatDataView{
Name = cat.Name,
Age = cat.Age,
Size = cat.Size,
Weight = Age + Size})
Run Code Online (Sandbox Code Playgroud)
是否有可能以某种方式做到这个重量=年龄+大小?这是一个更复杂的问题,其中Age和Size是复杂的LINQ查询.
由于您的"复杂LINQ查询"已经获得了要添加到模型对象中的值,因此可以使Weight属性getter计算值而不是执行另一个查询:
public class CatDataView
{
public string Name { get; set; }
public int Age { get; set; }
public int Size { get; set; }
public int Weight => Age + Size;
}
Run Code Online (Sandbox Code Playgroud)
示例属性使用表达式主体,在C#6中引入.
| 归档时间: |
|
| 查看次数: |
77 次 |
| 最近记录: |