黑马程序员——Dictionary笔记

来源:互联网 发布:单片机lcd显示时间 编辑:程序博客网 时间:2024/06/05 20:45

-------------------- ASP.Net+Android+IO开发S.Net培训、期待与您交流! ---------------------- 

 

Dictionary泛型哈希表的使用
首先创建字典Dictionary对象
Dictionary<key,value> dic=new Dictionary<key,value>();
个人理解:对于Dictionary的使用最重要的是找到可以做为<键,值>对的类型
键必须是唯一的,而值是可变的,所以把唯一的作为键
找到<键,值>对后联想循环来对Dictionary哈希表集合的对象dic进行赋值(for循环)
在用foreach()循环遍历Dictionary哈希表集合的<键,值>对

            /*计算字符串中每种字符出现的次数  使用Dictionary  不计算大小写  "Welcome to China"
              分析思路  字符串中字母是唯一的 如果出现了两次  那么次数累加
              单个字符char类型作为键  有了键 出现的次数就作为值*/
            string str="Welcome to China";//保存字符串
            //创建Dictionary对象,类型<char,int>
            Dictionary<char,int> dic=new Dictionary<char,int>();
            //将字符串分割成char类型数组 使用for循环取单个的值
            for(int i=0;i<str.Length;i++)
            {
                   //判断str[i]字符的值是否为(' ')
                   if(str[i]==' ')
                   {
                       continue;
                   }
                   //不为(" ")在判断Dictionary对象中是否包含<键(str[i]),>的键值,包含让<,值(int)>加值1
                   if(dic.ContainsKey(str[i]))
                   {
                          //通过键值对的键,让对应的值加1
                          dic[str[i]]++;    
                   }
                   else
                   {
                          //不包含则给Dictionary对象赋值<key,value>
                          dic[str[i]]=1;      
                   }
            }
            //最后用foreach循环遍历输出
            foreach(KeyValuePair<char,int> item in dic)
           {
                    Console.WriteLine("{0}字母出现了{1}次",item.Key,item.Value);
            }
            Console.ReadKey();

日后供自己观看

原创粉丝点击