所以基本上我有很多foos列表。
List<List<foo>> listOfFooLists;
用户可以选择带滑块的时间,并且所有列表的所有值(时间戳都小于所选时间)将相加。 为了在用户更改时间时保存性能,我想跟踪索引,以便我只能总结(或减去)尚未添加的值。
public class foo
{
float someValue;
DateTime someTimestamp;
}
什么是以某种方式跟踪索引并将它们链接到各自列表的最佳方式。 我希望我能以某种方式澄清我的问题...... 提前致谢
*编辑:是的,列表按时间戳排序。
无论如何,这只是一个例子。在我的真实项目中,操作比仅仅总结值更昂贵。
目前,该列表无法增长,但如果它们可以增长,则会在最后添加新项目。
答案 0 :(得分:1)
如果您的列表足够大,您将看到重要的性能命中,那么跟踪该信息可能是值得的。作为选项的示例,您可以创建一个新结构来替换列表列表。此结构可以包含一个附加参数来跟踪已经处理的值。一个粗略的例子:
public struct ListTracker
{
public List<foo> bar;
public bool isAdded;
}
List<ListTracker> tracker;