首页 > 解决方案 > DataCollection 或 DataCollection 中的字段数组或对象数组

问题描述

我有一个实体的 DataCollection,我可以将它投射到数组上,所以我有

DataCollection<Entity> entities;

或者

Entity[] entities;

实体包含几个字段,例如

string entityName;
int entityNumber;

有没有办法创建如下解决方案?

DataCollection<Entity> entities   ->  DataCollection<int> entityNumbers;
Entity[] entities;                ->  int[] entityNumbers;

ofc 我可以通过 foreach 来做到这一点,例如:

foreach (Entity entity in entities)
{
    add entity to new list/collection
}

但我正在寻找更优雅的解决方案(如 Java 中的 HashMap)

我认为将我的 DataCollection 或 Array 投射到列表中就可以完成这项工作,因为我们有一个我正在寻找的解决方案:

这个:

List<int> result = list.Select(e => e.i).ToList();

或者:

List<int> result = list.ConvertAll(e => e.i);

标签: c#

解决方案


从您提到的评论中,您只是在寻找Sumentitynumber 字段。为此,您可以这样做:

using System.Linq; //at the top of your .cs file

并计算总数。

var total = entities.Sum(x => x.entityNumber);

推荐阅读