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 });