C# · 12月 28, 2021

c# – 列出多个索引

给定一个通用列表,我需要某种索引(在数据库意义上),这将允许我快速检索.该索引的键不是唯一的,所以我不能使用字典.这是我想到的:给定一个类Foo {P1,P2,P3},可能有这样的数据 { “aaa”,111,”yes” }{ “aaa”,112,”no” }{ “bbb”,220,”yes” }{ “bbb”,”no” }{ “ccc”,300,”yes” } @H_403_4@我需要快速访问P1是“bbb”(第3,第4和第5)或P2是111(1st和3rd)的所有记录.我可以使用一个排序的列表,但如果我需要多种排序/索引的方式,我将最终得到重复的列表.

@H_403_4@.NET框架中有内置的东西,还是可能会有这样的操作系统库?谢谢.

@H_403_4@附:我提到“排序列表”,其中排序列表将快速返回/查找项目.我不需要列表被排序;我只是在寻找快速检索.

解决方法 我从来没有机会使用它,但您可以尝试使用 i4o.它应该为内存中的对象提供索引,以便与Linq一起使用.您可以使用属性或构建索引器来指定类的索引,然后创建一个IndexableCollection. @H_403_4@在这一点上,您只需使用Linq查询集合,并且索引在幕后工作以对数据的访问模式进行验光.