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等

  • 相关阅读:
    Codeforces 1485C Floor and Mod (枚举)
    CodeForces 1195D Submarine in the Rybinsk Sea (算贡献)
    CodeForces 1195C Basketball Exercise (线性DP)
    2021年初寒假训练第24场 B. 庆功会(搜索)
    任务分配(dp)
    开发工具的异常现象
    Telink MESH SDK 如何使用PWM
    Telink BLE MESH PWM波的小结
    [LeetCode] 1586. Binary Search Tree Iterator II
    [LeetCode] 1288. Remove Covered Intervals
  • 原文地址:https://www.cnblogs.com/lcxBlog/p/4884239.html
Copyright © 2011-2022 走看看