c# - 如何根据对象的属性对添加对象的位置进行排序
问题描述
我想知道是否有人可以阐明一种将具有相同属性值的对象添加到单独列表的方法。
我怎样才能做到这一点?
解决方案
我建议使用 aDictionary<int, List<Candidate>>
而不是多个列表。
你CandidateList
可能看起来像这样:
public class CandidateList
{
private Dictionary<int, List<Candidate>> _candidatesByFrameNumber;
public CandidateList()
{
_candidatesByFrameNumber = new Dictionary<int, List<Candidate>>();
}
public void Add(Candidate candidate)
{
if (!_candidatesByFrameNumber.TryGetValue(candidate.FrameNumber, out var lst))
{
lst = new List<Candidate>();
_candidatesByFrameNumber.Add(candidate.FrameNumber, lst);
}
lst.Add(candidate);
}
}
推荐阅读
- android - 如何在android中播放m3u文件?
- api - 从 openshift 调用 API 的 IP/主机名白名单方式
- javascript - 修复了滚动时的侧边栏,然后在向上滚动时恢复正常
- scala - Spark reduce 功能导致“错误类型不匹配”
- java - Java - 强制/警告不推荐使用的注释没有链接(或不推荐使用的链接)
- php - 不删除 codeigniter 中的 index.php
- matlab - 使用二分法找到第一类贝塞尔函数 (J0(x)) 的第 n 个根
- javascript - Javascript/NodeJS:在 forEach 内完成 .find 之前的 html 渲染
- go - 在 go 中使用 sleep 时执行哪个 goroutine?
- ios - 如何在 iOS 中去除 mapbox 的蓝色和灰色注解