C# 跟踪多个列表的索引的最佳实践

C# 跟踪多个列表的索引的最佳实践,c#,C#,所以基本上我有很多食物清单 List<List<foo>> listOfFooLists; 以某种方式跟踪索引并将其链接到各自列表的最佳方法是什么。 我希望我把我的问题弄清楚了。。。 提前谢谢 *编辑:是的,列表按时间戳排序 无论如何,这只是一个例子。在我的实际项目中,操作比仅仅总结价值更昂贵 目前,列表无法增长,但如果它们能够增长,则会在末尾添加新的项目。如果列表足够大,您将看到显著的性能影响,那么跟踪这些信息可能是值得的。作为选项示例,您可以创建一个新结构来替换列表

所以基本上我有很多食物清单

List<List<foo>> listOfFooLists;
以某种方式跟踪索引并将其链接到各自列表的最佳方法是什么。 我希望我把我的问题弄清楚了。。。 提前谢谢

*编辑:是的,列表按时间戳排序

无论如何,这只是一个例子。在我的实际项目中,操作比仅仅总结价值更昂贵


目前,列表无法增长,但如果它们能够增长,则会在末尾添加新的项目。

如果列表足够大,您将看到显著的性能影响,那么跟踪这些信息可能是值得的。作为选项示例,您可以创建一个新结构来替换列表列表。此结构可以包含一个附加参数来跟踪已处理的值。一个粗略的例子:

public struct ListTracker  
{  
    public List<foo> bar;
    public bool isAdded;
}

List<ListTracker> tracker;

列表中的项目是否按someTimestamp排序?您在该列表中保留了多少个Foo?10000000000? 如果更少,那么为什么要优化这些简单的东西呢?在用户开始使用滑块后,列表会增长吗?如果可以的话,新项目是否只添加在列表的末尾?嗨,谢谢你的回答。事实上,我需要知道我在和中添加了哪一项,所以我应该添加一个int索引而不是bool。然而,这不是违反了单一责任原则吗?我不太清楚你的意图是什么。每个元素的int+1是一个变量还是一个变量?
public struct ListTracker  
{  
    public List<foo> bar;
    public bool isAdded;
}

List<ListTracker> tracker;