Solved

Cannot convert from object to string, dictionary c#

Posted on 2010-11-14
2
908 Views
Last Modified: 2012-06-27
try to add arraylist from array and add into dictionary (string and integer) and finally sort the value of the dictionary.

while adding to dictionary, getting
'cannot convert from objecct to string.'


static void Main(string[] args)
        {
            string[] strArray = { "A", "B", "C" };
            int[] intArray = { 3, 2, 1 };

            ArrayList alstr = new ArrayList();
            ArrayList alint = new ArrayList();

            for (int m = 0; m < strArray.Length; m++)
            {
                alstr.Add(strArray[m]);
            }

            for (int n = 0; n < intArray.Length; n++)
            {
                alint.Add(intArray[n]);
            }

            object[] myStringArray = alstr.ToArray();
            object[] myIntArray = alint.ToArray();

            var dict = new Dictionary<string, int>();

            //foreach (string strArray01 in strArray)
            //{
            //    foreach (int intArra01 in intArray)
            //    {
            //        dict.Add(strArray01, intArra01);
                    
            //        break;

            //    }

            //}

            for (int o = 0; o < myStringArray.Length; o++)
            {
                dict.Add(myStringArray[o], myIntArray[o]);
            }

            //for (int i = 0; i < strArray.Length; i++)
            //{
            //    dict.Add(strArray[i], intArray[i]);

            //}
                var items = from k in dict.Keys
                            orderby dict[k] ascending
                            select k;


            


            foreach (string kv in items)
            {

                Console.WriteLine("Key : {0}, Value : {1}", kv, dict[kv]);

            }

            Console.ReadLine();

        }
    }

Open in new window

0
Comment
Question by:doramail05
2 Comments
 
LVL 85

Accepted Solution

by:
Mike Tomlinson earned 500 total points
ID: 34134058
Try changing:

    dict.Add(myStringArray[o], myIntArray[o]);

To:

    dict.Add((string)myStringArray[o], (int)myIntArray[o]);
0
 
LVL 8

Expert Comment

by:Subrat (C++ windows/Linux)
ID: 34134175
FYI:
To increase the perfermance use List<T> instead of ArrayList
0

Featured Post

Gigs: Get Your Project Delivered by an Expert

Select from freelancers specializing in everything from database administration to programming, who have proven themselves as experts in their field. Hire the best, collaborate easily, pay securely and get projects done right.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Real-time is more about the business, not the technology. In day-to-day life, to make real-time decisions like buying or investing, business needs the latest information(e.g. Gold Rate/Stock Rate). Unlike traditional days, you need not wait for a fe…
This article aims to explain the working of CircularLogArchiver. This tool was designed to solve the buildup of log file in cases where systems do not support circular logging or where circular logging is not enabled
Along with being a a promotional video for my three-day Annielytics Dashboard Seminor, this Micro Tutorial is an intro to Google Analytics API data.
Email security requires an ever evolving service that stays up to date with counter-evolving threats. The Email Laundry perform Research and Development to ensure their email security service evolves faster than cyber criminals. We apply our Threat…

786 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question