如何解决有没有一种方法可以在对象内部的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);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。