Dictionary(一)

 // <summary>     
        /// 一般用法  
        /// </summary>
        public static void DictionaryDemo001()
        {
            Dictionary<int, string> dict = new Dictionary<int, string>();
            dict.Add(1, "111");
            dict.Add(2, "222");
            //判断是否存在相应的key并显示    
            if (dict.ContainsKey(2))
            { Console.WriteLine(dict[2]); }
            //遍历Keys         
            foreach (var item in dict.Keys)
            { Console.WriteLine("Key:{0}", item); }
            //遍历Values       
            foreach (var item in dict.Values)
            { Console.WriteLine("value:{0}", item); }
            //遍历整个字典       
            foreach (var item in dict)
            { Console.WriteLine("key:{0} value:{1}", item.Key, item.Value); }
        }
        /// <summary>      
        /// 参数为其它类型      
        /// </summary>      
        public static void DictionaryDemo002()
        {
            Dictionary<string, string[]> dict = new Dictionary<string, string[]>();
            dict.Add("1", "1,11,111".Split(','));
            dict.Add("2", "2,22,222".Split(','));
            Console.WriteLine(dict["2"][2]);

        }
        public static void DictionaryDemo003()
        {
            IDictionary<int, yongfa365> dict = new Dictionary<int, yongfa365>();
            for (int i = 0; i < 10; i++)
            {
                yongfa365 y = new yongfa365();
                y.UserCode = i;
                y.UserName = "www.yongfa365.com " + i.ToString();
                dict.Add(i, y);
            }

            foreach (var item in dict)
            {
                Console.WriteLine("{0} One:{1} UserName:{2}", item.Key, item.Value.UserCode, item.Value.UserName);

            }
        }

    }

    public class yongfa365
    {
        public int UserCode { get; set; }
        public string UserName { get; set; }
    }

*****************************************************************************

  public IDictionary<string, string> GetDic(string xml)
         {
             IDictionary<string, string> dit = new Dictionary<string, string>();
             string[] arrays = xml.Split(';');
             foreach (string item in arrays)
             {
                 string[] param = item.Split(':');
                 if (param[0] != null && param[1] != null)//注意:必须key值和Value值都存在才可加入
                 {
                     dit.Add(param[0], param[1]);
                 }
             }
             return dit;
         }

         public User GetUser(IDictionary<string, string> dit)
         {
             user = new User();
             credit = new UserCredit();

             IEnumerator<KeyValuePair<string, string>> dem = dit.GetEnumerator();
             while (dem.MoveNext())
             {
                 string name = dem.Current.Key;
                 string value = dem.Current.Value;
                 switch (name)
                 {
                     case "user_id": user.UserId = Convert.ToInt64(value); break;
                     case "type": user.Type = value; break;
                     case "sex": user.Sex = value; break;
                     case "nick": user.Nick = value; break;
                     case "created": user.Created = value; break;
                     case "total_num": credit.TotalNum = Convert.ToInt64(value); break;
                     case "score": credit.Score = Convert.ToInt64(value); break;
                     default: break;
                 }
             }
             return user;
         }

         public User GETUser(IDictionary<string, string> dit)
         {
             user = new User();
             credit = new UserCredit();
             Dictionary<string, string> dic = new Dictionary<string, string>(dit.Count);
             foreach (KeyValuePair<string, string> kvp in dic)
             {
                 string name = kvp.Key;
                 switch (name)
                 {
                     case "type": user.Type = kvp.Value ; break;
                     case "sex": user.Sex = kvp.Value; break;
                     case "nick": user.Nick = kvp.Value; break;
                     case "created": user.Created =kvp.Value; break;
                     default: break;
                 }
             }
             return user;
         }

         public string  Test(IDictionary<string, string> dit)
         {
             string KV = null;
             Dictionary<string, string> dic = new Dictionary<string, string>(dit.Count);
             foreach (var item in dic)//注意:值为空的情况
             {
                 KV +="键:"+ item.Key + "值:"+item.Value;
             }
             //foreach (var value in dic.Values)
             //{
             //    KV += "值的集合:" + value;
             //}
            return KV;
         }

posted @ 2011-08-21 18:41  SanMaoSpace  阅读(901)  评论(0编辑  收藏  举报