我正在尝试的代码不起作用:
private void clearRichtextBox()
{
richTextBox2.Clear();
foreach (KeyValuePair<string, List<string>> kvp in LocalyKeyWords)
{
richTextBox2.AppendText("Url: " + kvp.Key + " --- " + "Localy KeyWord: " + kvp.Value);
}
}
LocalyKeyWords 是一个 List > 类型的 Dictionary。其中字符串是键,列表是值。
例如, http://www.google.com是键,而 google 是值。
现在在这种情况下,LocalyKeywords 包含 3 个索引,每个索引都有一个 Key 和一个 Value。我希望在清除richTextBox2 后,以如下格式将所有键和值从列表中添加到richTextBox:
Url: http://www.google.com --- Localy Keyword: google
Url: http://www.cnet.com --- Localy Keyword: cnet
Url: http://www.microsoft.com --- Localy Keyword: microsoft
但我没有像我那样做。
我该怎么做 ?foreach 出了点问题,我更喜欢用 FOR 而不是 foreach。
该列表构建为 Key,Value 在我的硬盘 fhr 格式的文本文件中是这样的:
http://www.cnet.com,cnet
然后在构造函数中,我从文本文件中读取它并将键和值放回列表中,如下所示:
private void richTextBoxLoadKeys(Dictionary<string, List<string>> dictionary, string FileName)
{
string line = System.String.Empty;
using (StreamReader sr = new StreamReader(keywords))
{
while ((line = sr.ReadLine()) != null)
{
string[] tokens = line.Split(',');
dictionary.Add(tokens[0], tokens.Skip(1).ToList());
richTextBox2.AppendText("Url: " + tokens[0] + " --- " + "Localy KeyWord: " + tokens[1]);
}
sr.Close();
}
}
在构造函数中加载键和值并在列表上使用断点后,我看到: