List 是否更新字典中的现有列表对象?
我们在表示.NET字典集合中的文件数据时遇到了一个问题,通过一个简化的示例可能更容易解释:List 是否更新字典中的现有列表对象?,list,dictionary,List,Dictionary,我们在表示.NET字典集合中的文件数据时遇到了一个问题,通过一个简化的示例可能更容易解释: Dictionary<int, string> header = new Dictionary<int, string>(); Dictionary<int, List<string>> lines = new Dictionary<int, List<string>>(); List<string> line; //C
Dictionary<int, string> header = new Dictionary<int, string>();
Dictionary<int, List<string>> lines = new Dictionary<int, List<string>>();
List<string> line;
//Create first header/lines Dic objects
header.Add(1, "Bill");
line = new List<string>();
line.Add("G");
line.Add("A");
line.Add("T");
line.Add("E");
lines.Add(1, line);
//Create second header/lines Dic objects
header.Add(2, "Steven");
line = new List<string>();
line.Add("B");
line.Add("A");
line.Add("L");
line.Add("L");
line.Add("M");
line.Add("E");
line.Add("R");
lines.Add(2, line);
//Update first lines Dic object by adding a final line
line = new List<string>();
line.Add("S");
???
在这一点上,我不确定如何将新字符串添加到字典中第一个List对象的末尾,以便它包含字符G、A、T、E、s。当value参数是List对象时,是否有方法更新现有字典对象?在lines字典中,您可以使用键1访问列表,如下所示
line = lines[1];
line.Add("S");
line = lines[2];
line.Add("S");
假设你想在鲍尔默的末端放一个S,那么它是另一个键,2,就像这样
line = lines[1];
line.Add("S");
line = lines[2];
line.Add("S");
为了查看数据,我对字典中的每个列表进行了如下迭代
foreach(KeyValuePair<int, List<string>> entry in lines) {
foreach (string s in entry.Value) {
Console.Write(s);
}
}
line = new List<string>();
line.Add("S");
lines[1].AddRange(line); //combines two list objects, one after the other
最后,我不推荐这样做,但如果您的实现需要,您可以使用AddRange函数将一个列表附加到另一个列表,如下所示
foreach(KeyValuePair<int, List<string>> entry in lines) {
foreach (string s in entry.Value) {
Console.Write(s);
}
}
line = new List<string>();
line.Add("S");
lines[1].AddRange(line); //combines two list objects, one after the other
谢谢,这正是我们要找的。