你只要求用索引访问,反而不要求用字符串内容去访问? 那完全可以使用List<string>啊,跟Dictionary有什么关系
是否我重复造车了呢? 现在我提出一个需求,我要处理成千上万的字符串,首先要求去重,其次要求能像数组一样用下标访问,还要具有像 Dictionary 一样的查找速度,还要尽量保持元素的添加顺序(但不要求删除元素)。 这些字符串,可以从磁盘加载(有可能被用户手动添加或者删除),并可能在运行期间动态增加 我想请问一下,.NET 的那个数据结构,能办到? Dictionary 貌似是可以的,但它不提供按下标访问元素,向前或向后遍历。 Dictionary 由 Enumerable.ElementAt( int index ) 扩展的方法,倒是可以按索引访问,但它是调用 IEnumerable() 并总是从头遍历到 index 位置,并返回该位置上的元素。如果 ElementAt() 大面积被调用,它就会造成大麻烦。 将 Dictionary 稍加剖析,就可以设计出一个满足这种要求的非重复的,按索引访问,向前向后遍历,查找速度快,保持元素添加顺序的数据结构。
111,094
社区成员
642,554
社区内容
加载中
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧