Считать значение из словаря имеющее тип ArrayList - C#
Формулировка задачи:
Ситуация такая. Имею словарь вида Dictionary<string, ArrayList>. При считывании значения выдаёт вместо самого значения его тип - System.Collections.ArrayList. Как считать само значение?
Вывод:
Dictionary<string, ArrayList> dict = new Dictionary<string, ArrayList>();
string leftpart = "p";
ArrayList rightpart = new ArrayList();
rightpart.Add("p");
rightpart.Add("pq");
dic.Add(leftpart, rightpart);
leftpart = "q";
rightpart.Clear();
rightpart.Add("");
rightpart.Add("r");
dic.Add(leftpart, rightpart);
leftpart = "r";
rightpart.Clear();
rightpart.Add("");
rightpart.Add("");
dic.Add(leftpart, rightpart);
string s = "";
foreach (KeyValuePair<string, ArrayList> kvp in dic)
{
s += string.Format("Key = {0}, Value = {1}",
kvp.Key, kvp.Value) + Environment.NewLine;
Console.Write( " {0}", s );
}Key = p, Value = System.Collections.ArrayList Key = p, Value = System.Collections.ArrayList Key = q, Value = System.Collections.ArrayList Key = p, Value = System.Collections.ArrayList Key = q, Value = System.Collections.ArrayList Key = r, Value = System.Collections.ArrayList
Решение задачи: «Считать значение из словаря имеющее тип ArrayList»
textual
Листинг программы
Dictionary<string, ArrayList> dict = new Dictionary<string, ArrayList>();
//string leftpart = "p";
//ArrayList rightpart = new ArrayList();
//rightpart.Add("p");
//rightpart.Add("pq");
//dict.Add(leftpart, rightpart);
//leftpart = "q";
//rightpart.Clear();
//rightpart.Add("");
//rightpart.Add("r");
//dict.Add(leftpart, rightpart);
//leftpart = "r";
//rightpart.Clear();
//rightpart.Add("");
//rightpart.Add("");
//dict.Add(leftpart, rightpart);
dict.Add("p", new ArrayList() { "p", "pq" });
dict.Add("q", new ArrayList() { "", "r" });
dict.Add("r", new ArrayList() { "", "" });
foreach (KeyValuePair<string, ArrayList> kvp in dict)
{
Console.WriteLine("Key={0}",kvp.Key);
Console.WriteLine("Значения этого ключа:");
foreach (var item in kvp.Value)
{
Console.WriteLine(item);
}
}