我需要一个可以存储和检索具有多个潜在共享标记的对象的集合。我需要能够存储一个具有多个标记的对象,并检索所有具有一个或多个标记的对象。
我的第一个想法是让集合存储一个对象数组,以及一个Dictionary<string, Hashset<int>>,其中键是标记,值是标记应用到的索引。
但是,如果从集合中删除了一个对象,那么之后的所有索引现在都是不正确的。
我朝正确的方向走了吗?是否有一种我不知道的现有实现,或者对集合有帮助的标准方法?
发布于 2018-05-24 09:41:12
为什么不使用:
Dictionary<List<string>, HashSet<int>> taggedDict = new Dictionary<List<string>, HashSet<int>>();
var searchList = new List<string> { "tag1", "tag4" };
var keys = taggedDict.Keys.Where(x => x.Any(y => searchList.Contains(y)));https://stackoverflow.com/questions/50505208
复制相似问题