SevenDays
SevenDays

Reputation: 3768

values to dictionary c# .net

public class Response
        {
            public User[] Users { get; set; }
        }
        public class User
        {
            public string Uid { get; set; }
            public string First_Name { get; set; }
            public string Last_Name { get; set; }
            public int Online { get; set; }
            public int[] Lists { get; set; }
        }

        private void c_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e)
        {
            lock (this)
            {
                string json = e.Result;
              //  var response = JsonConvert.DeserializeObject(json);
                var response = JObject.Parse(json);
               // var COUNT = JsonConvert.DeserializeObject<List<User>>(json);
               // MessageBox.Show(response.ToString());

                var getcount = response["response"].Children<JObject>();
                int count_friends=getcount.Cast<JToken>().Values("uid").Count();
                Response rr = new Response();
                for (int i = 0; i <count_friends; i++) {
                    //rr.Users.ToDictionary(rr.Users[i].Uid => response["response"][i]["uid"].ToString());
                 //   rr.Users[i].First_Name = response["response"][i]["first_name"].ToString();  --DOESN'T WORKS
                   // Debug.WriteLine("OUT: "+(string)response["response"][i]["uid"].ToString());
                    //Debug.WriteLine("OUT: " + COUNT.Count());

                }
                Debug.WriteLine(rr.Users.ToString());
               // string[] names = rr.Users.Select(d => d.First_Name).ToArray();

               // string[] uids = response.Users.Select(d => d.Uid).ToArray();
               // Dictionary<string,string> users = response.Users.ToDictionary(d => d.First_Name);
              //  Dictionary<string, string> usersById = response.Users.ToDictionary(d => d.Uid, d => d.First_Name);
            }
        }

I need to get acces to a dictionary like "select from Response.User all where Online==1" But in the start how I can create a DB(linq) with classes above ? All values stored in response["response"][i]["uid"],response["response"][i]["first_name"]...

Upvotes: 2

Views: 500

Answers (2)

SevenDays
SevenDays

Reputation: 3768

public struct User {
            public int Uid;
            public string First_Name;
            public string Last_Name;
            public bool isonline;
        }

Than you can write values like

              User[] usr= new User[count_friends];
              //  Response rr = new Response();
                for (int i = 0; i <count_friends; i++) {
                    usr[i].Uid =(int) response["response"][i]["uid"];

Upvotes: 0

harryovers
harryovers

Reputation: 3138

is this what your looking for?

Dictionary<string,List<Dictionary<string,object>>>

this is vary bad design, try and rethink the problem to come up with a better solution

Upvotes: 1

Related Questions