此程序旨在读取csv文件并从中创建一个字典,然后用它来翻译输入到文本框(txtINPUT)中的单词并将结果输出到另一个文本框(txtOutput)。C中的词典#
该程序不会翻译任何东西,并始终输出“找不到翻译”。 我从来没有用过字典类,所以我不知道问题来自哪里。
感谢您给我的任何帮助。
Dictionary<string, string> dictionary;
private void CreateDictionary()
{
//Load file
List<string> list = new List<string>();
using (StreamReader reader = new StreamReader("dictionarylist.csv"))
{
string line;
while ((line = reader.ReadLine()) != null)
{
//Add to dictionary
dictionary = new Dictionary<string, string>();
string[] split = line.Split(',');
dictionary.Add(split[0], split[1]);
}
}
}
private void btnTranslate_Click(object sender, EventArgs e)
{
CreateDictionary();
string outputString = null;
if (dictionary.TryGetValue(txtInput.Text, out outputString))
{
txtOutput.Text = outputString;
}
else
{
txtOutput.Text = ("No translation found");
}
}
我真的推荐一个更好标题为您的问题...尝试一些更具体到您的问题。 – aardvarkk 2012-03-19 18:55:15
您为每一行读取的字典创建一个新的字典 – devio 2012-03-19 18:55:55
您应该在调试器中运行该字典,并使用watch-window仔细比较放入字典的值与您用于TryGetValue的值。您还应该向我们展示至少一部分dictionarylist.csv – abelenky 2012-03-19 18:56:28