Считать значение из словаря имеющее тип 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);
                }
            }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 4.286 из 5
Похожие ответы