2009-12-14 84 views

回答

5

StringDictionary僅僅是一個哈希表,其中的鍵和值是string s。這在仿製藥之前就存在了(所以Dictionary<string, string>是不可能的)。

您需要的數據結構是trie。上有CodeProject實現:

  1. Phone Directory Implementation Using TRIE
  2. A Reusable Prefix Tree using Generics in C# 2.0

或者,如果你是那種傢伙,滾你自己(見CLRS)。

+0

+1很好的回答!我不記得它的確切名稱 - 特里! – 2009-12-14 17:06:03

4

我不相信StringDictionary支持前綴搜索,但是如果您使用的是SortedList<,>,則可以對鍵的範圍進行二進制搜索,直到找到前綴之前和之後的第一個條目。

2

我認爲StringDictionary是舊學校(前仿製藥)。您應該使用Dictionary(Of String, String),因爲它實現了IEnumerable(認爲LINQ)。一個極端的lame thing about StringDictionary是它不區分大小寫。