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等

  • 相关阅读:
    高斯消元学习
    HDU 4596 Yet another end of the world(解一阶不定方程)
    Codeforces Round #318 div2
    HDU 4463 Outlets(一条边固定的最小生成树)
    HDU 4458 Shoot the Airplane(计算几何 判断点是否在n边形内)
    HDU 4112 Break the Chocolate(简单的数学推导)
    HDU 4111 Alice and Bob (博弈)
    POJ 2481 Cows(线段树单点更新)
    HDU 4288 Coder(STL水过)
    zoj 2563 Long Dominoes
  • 原文地址:https://www.cnblogs.com/lcxBlog/p/4884239.html
Copyright © 2011-2022 走看看