c# - 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);
解决方案
从您提到的评论中,您只是在寻找Sum
entitynumber 字段。为此,您可以这样做:
using System.Linq; //at the top of your .cs file
并计算总数。
var total = entities.Sum(x => x.entityNumber);
推荐阅读
- javascript - javascript中不同类型的执行
- php - 当我 DD 我的请求时,Laravel Form post to url 不显示任何内容
- c# - 在 WPF 上下文菜单中使用 cal:Message.Attach 时出现“未找到目标方法”错误
- sql - 有没有办法从字符串文字中提取时间
- pointers - SAMD21 - 指针取消引用硬故障,调试器显示有效对象
- image-processing - 在图像分类和对象识别中使用 DNN 和 CNN 的优缺点
- javascript - 从 TextView 获取文本并将其复制到剪贴板以响应本机
- swift - 在 viewController 中的 2 个不同的图像视图上使用 2 个不同的 UIPanGestureRecongizer
- ios - 如何快速将图像制作成水印图像
- c# - 为什么导航标题隐藏在ios13中?