【发布时间】:2012-10-14 16:12:18
【问题描述】:
我正在尝试的代码不起作用:
private void clearRichtextBox()
{
richTextBox2.Clear();
foreach (KeyValuePair<string, List<string>> kvp in LocalyKeyWords)
{
richTextBox2.AppendText("Url: " + kvp.Key + " --- " + "Localy KeyWord: " + kvp.Value);
}
}
LocalyKeyWords 是一个 List > 类型的字典。 其中字符串是键,列表是值。
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。
List是建成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();
}
}
在构造函数中加载键和值并在列表上使用断点后,我看到:
【问题讨论】:
-
您的 foreach 是正确的,也许您的 LocalyKeyWords 定义不正确。在运行时使用断点检查 LocalyKeyWords 的值
-
将 LocalyKeyWords 类的来源添加到您的问题中
-
"但我没有按照我的方式得到它。"你得到什么是?
-
我使用的 LocalyKeywords List 源的行在我的 Form1 的顶部: Dictionary
> LocalyKeyWords = new Dictionary >();
标签: c#