C# 来自数据收集或对象数组的数据收集或字段数组

C# 来自数据收集或对象数组的数据收集或字段数组,c#,C#,我有一个实体的数据集合,可以在数组上强制转换,所以我有 DataCollection<Entity> entities; 实体由几个字段组成,例如 string entityName; int entityNumber; 有没有一种方法可以创建如下的解决方案 DataCollection<Entity> entities -> DataCollection<int> entityNumbers; Entity[] entities;

我有一个实体的数据集合,可以在数组上强制转换,所以我有

DataCollection<Entity> entities;
实体由几个字段组成,例如

string entityName;
int entityNumber;
有没有一种方法可以创建如下的解决方案

DataCollection<Entity> entities   ->  DataCollection<int> entityNumbers;
Entity[] entities;                ->  int[] entityNumbers;
但我正在寻找更优雅的解决方案(如Java中的HashMap)

我认为将我的数据收集或数组转换到列表中会成功,因为我们有一个我正在寻找的解决方案:

这:

List result=List.Select(e=>e.i.ToList();
或:

List result=List.ConvertAll(e=>e.i);

从您提到的注释中,您只查找entitynumber字段的
总和。为此,您可以:

using System.Linq; //at the top of your .cs file
并计算总数

var total = entities.Sum(x => x.entityNumber);
看看这个:

public class DaCollectionOfInt<T>
{
     public int id { get; set; }
}

var result = from m in list select new DaCollectionOfInt<int>() { id = m.id };
公共类数据集合
{
公共int id{get;set;}
}
var result=从列表中的m选择new DaCollectionOfInt(){id=m.id};

var result=list.Select(x=>newdacollectionofint(){id=x.id});

数据收集
?将其转换到
列表
的原因有点不清楚,因为您也可以迭代数组。Java中的
HashMap
也是一个完全不同类型的对象。那么你打算用它做什么呢?得到一个实体数的总和是我真正想要实现的@Bleep BloopSum的整数?所以像
entities.Sum(e=>e.entityNumber)
?@Hyarus是的,这就是我想要的,但是数据收集实体没有Sum()可用。
List<int> result = list.ConvertAll(e => e.i);
using System.Linq; //at the top of your .cs file
var total = entities.Sum(x => x.entityNumber);
public class DaCollectionOfInt<T>
{
     public int id { get; set; }
}

var result = from m in list select new DaCollectionOfInt<int>() { id = m.id };
var result = list.Select(x=> new DaCollectionOfInt<int>() { id = x.id });