zoukankan      html  css  js  c++  java
  • C#中的集合类——HashTable

    HashTable 被称为键值对集合,类似于字典,根据key可以找到value

    键值对对象[键]=值;
    键值对集合当中,键必须是唯一的,而值是可以重复的

    1.  HashTable的用法

                //创建了一个键值对集合对象
                Hashtable ht = new Hashtable();
                ht.Add(1, "张三");
                ht.Add(2, true);
                ht.Add(3, '');
                ht.Add(false, "错误的");
                ht.Add(5, "张三");
                ht[6] = "新来的";//这也是一种添加数据的方式
                ht[1] = "把张三干掉";
                ht.Add("abc", "cba");
    
                //abc----cba
                if (!ht.ContainsKey("abc"))
                {
                    //ht.Add("abc", "哈哈哈");
                    ht["abc"] = "哈哈哈";
                }
                else
                {
                    Console.WriteLine("已经包含abc这个键!!!");
                }
    
    
               // ht.Clear(); //移除集合中所有的元素
                ht.Remove(3);
    
                foreach (var item in ht.Keys)
                {
                    Console.WriteLine("键是-----{0}==============值是{1}", item, ht[item]);
                }
                //在键值对集合中 是根据键去找值的
                //Console.WriteLine(ht[1]);
                //Console.WriteLine(ht[2]);
                //Console.WriteLine(ht[3]);
                //Console.WriteLine(ht[false]);
                //Console.WriteLine("==================================");
                //for (int i = 0; i < ht.Count; i++)
                //{
                //    Console.WriteLine(ht[i]);
                //}

    2.  foreach循环

      当循环次数巨大的时候,foreach循环的效率远远高于for循环。

      foreach( var item in collection ) { 循环体}

       item : 集合中的每一项元素

       collection :需要遍历的集合

       var : 可以根据值,自动地推断出类型

                var n = 15;
                var n2 = "张三";
                var n3 = 3.14;
                var n4 = 5000m;
                var n5 = true;
                var n6 = '';
                Console.WriteLine(n.GetType());
                Console.WriteLine(n2.GetType());
                Console.WriteLine(n3.GetType());
                Console.WriteLine(n4.GetType());
                Console.WriteLine(n5.GetType());
                Console.WriteLine(n6.GetType());
                Console.ReadKey();

      输出:

     

      既然var可以通吃以上的类型,为何在C#中它却不受欢迎?

       因为在使用var这个关键字来定义变量的时候,必须在声明变量的时候为变量赋值,否则编译器将报错。

       有时候,我们需要这样做。  string str;  str = "1230";

          这就是var做不到的地方。

    3. 强类型语言 和 弱类型语言

      c#是一门强类型语言:在代码当中,必须对每一个变量的类型有一个明确的定义

      其他强类型语言: java、C++等

          弱类型语言:lua、vb、javaScript等

  • 相关阅读:
    UVa 839 Not so Mobile
    UVa 548 Tree(中序遍历+后序遍历)
    UVa-679 Dropping Balls(二叉树的编号)
    Vue练习三十一:04_04_arguments应用_求出参数的和
    Vue练习三十:04_03_自动改变方向播放_幻灯片效果
    Vue练习二十九:04_02_自动播放_幻灯片效果
    Vue练习二十八:04_01_transition应用(未完成)
    Vue练习二十七:03_09_倒计时时钟
    Vue练习二十六:03_08_简易网页时钟
    Vue练习二十五:03_07_网页计算器
  • 原文地址:https://www.cnblogs.com/lcxBlog/p/4884239.html
Copyright © 2011-2022 走看看