我正在開發一本詞典,並且有大約110,000個單詞。在windows_load中,我加載了一個已排序字典中的所有單詞。然後,當用戶開始在文本框中輸入字符時,我的程序應搜索已排序的字典並顯示以列表框中的這些字符開頭的單詞。按文本框中鍵入的字符過濾單詞集合,並在列表框中顯示結果單詞
例如,當用戶在文本框中輸入「COM」我想要的程序,以顯示所有單詞開始在列表框中
我想知道如果我使用的是正確的數據結構「COM」,但它搜索根據存儲在其中的密鑰。
namespace StringDictionaryClass
{
public partial class MainWindow : Window
{
SortedDictionary<string, string> sortedDic = new SortedDictionary<string, string>();
public MainWindow()
{
InitializeComponent();
}
private void Window_Loaded(object sender, RoutedEventArgs e)
{
LoadWords();
}
private void LoadWords()
{
int counter = 0;
string word;
// Read the file and display it word by word.
string path = AppDomain.CurrentDomain.BaseDirectory;
if (File.Exists(path + "\\Words.txt"))
{
System.IO.StreamReader file = new System.IO.StreamReader(path + "\\Words.txt");
while ((word = file.ReadLine()) != null)
{
sortedDic.Add(word, "");
counter++;
}
file.Close();
}
}
private void earchBox_TextChanged(object sender, TextChangedEventArgs e)
{
string key = searchBox.Text;
foreach (KeyValuePair<string, string> dictionaryEntry in sortedDic)
{
if (key == dictionaryEntry.Key)
{
listBoxWords1.Items.Add(dictionaryEntry.Key);
}
}
}
}
}
你能告訴我究竟發生了什麼嗎? – 2014-11-22 06:04:40