c# - 有没有办法将对象的位置存储在对象内部的 C# 列表中?
问题描述
应该注意的是,列表中每个对象的字段可能无法相互区分,区分它们的最佳方法是通过 ID。如果一个对象的 ID 也可以是它在该列表中的索引,那将非常有帮助。
//...
receiveData(ClassA obj2Add) {
maplist.Insert(0, obj2Add); //Defined as a Maplist, which extends List<ClassA>, assume with no other fields of relevance
Console.WriteLine(obj2Add.Index); //Should display zero.
}
class ClassA {
string mapname {get;set;}
int Index; //Would reference this ClassA's position in maplist.
}
有什么我可以添加到 ClassA 或 Maplist 类来实现这个目标的吗?
解决方案
仅当您的 ClassA ID 从 0 开始时才有可能,然后您可以执行以下操作:
receiveData(ClassA obj2Add) {
maplist.Insert(0, obj2Add);
maplist=maplist.OrderBy(o=> o.Index).ToList();
Console.WriteLine(obj2Add.Index);
}
为什么你还需要那个?我猜你想通过maplist[id]
如果是这种情况,那么我建议使用
maplis.FirstOrDefault(f=>f.Index==id);
推荐阅读
- linux - 如何通过两个 SSH 连接使用 TensorBoard
- amazon-web-services - 将日志文件从 Container 同步到 S3 存储桶时出现问题
- javascript - 似乎无法在 blazor 中调用 javascript
- r - 按距离为 R 中的条件逻辑回归创建案例对照匹配
- omnet++ - 静脉 5.1 和 omnet 6.0pre10 中的 opp_run 错误
- canvas - 我想在 C++Builder 中的 TPanel 上绘图
- java - Java PathMatcher:为什么 ** 对零文件夹不起作用?
- django - 显示字段的所有可能的错误消息(Django)
- spring - 如果我们使用 JPA 和 Hibernate 在源实体中有主键,则从目标实体中检索列值
- python - 在 Python 中将每小时信息与每月信息相乘的最有效方法是什么?