zoukankan      html  css  js  c++  java
  • 20151024_002_C#基础知识(ArrayList,Hashtable,List,Dictionary)

    1:ArrayList 和 Hashtable(哈希表)

    1.1:ArrayList

    ArrayList list = new ArrayList();

    list.Add();

    list.AddRange();

    list.Clear(); //清空所有元素

    list.Remove(); //删除单个元素

    list.RemoveAt(); //根据下标去删除

    list.RemoveRange(); //根据下标去移除一定范围的元素

    list.Sort(); //升序排列

    list.Reverse(); //反转

    list.Insert(); //在指定的位置插入一个元素

    list.InsertRange(); //在指定的位置插入一个集合

    1.2:ArrayList集合的长度问题

    每次集合中实际包含的元素个数(count)超过了可以包含的元素的个数(capcity)的时候,

    集合就会向内存中申请多开辟一倍的空间,来保证集合的长度一直够用。

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

    Js是一门弱类型语言:var

    var使用的时候必须已经初始化(隐式类型的局部变量必须已经初始化)

    1.3:Hashtable 键值对集合

    在键值对集合中,我们是根据键去找值的。

    键值对对象[键] = 值;

    判断是否包含某个键,hashtableObj.ContainsKey("KeyValue");

    1.4:ArrayList 和 Hashtable 集合

    1):长度不定

    2):数据类型不定,可以是任何类型

    3):从ArrayList 和Hashtable中取出的数据都是Object类型

    2:List集合(泛型集合) 和 Dictionary<TKey,TValue>

    2.1:List集合(泛型集合)

    2.2:Dictionary<TKey,TValue>

    Dictionary<int,string> dic=new Dictionary<int,string>();

    foreach(KeyValuePair<int,string> kv in dic)

    {

      Console.WriteLine("{0}---{1}",kv.Key,kv.Value);

    }

    //dic中不存在key,添加key/value

    dic.Add(key,value);

    dic[key]=value;

    3:集合<==>数组

    3.1:集合转换为数组

    List<T> li = new List<T>();

    li.ToArray();

    3.2:数组转换为集合

    char[] chs = new char[]{'a','b','c',};

    List<char> listChar = chs.ToList();

    4:ArrayList和Hashtable为什么用的很少?

    会发生装箱/拆箱操作,影响程序执行效率

    4.1:装箱/拆箱

    装箱:就是将值类型转换为引用类型。

    拆箱:将引用类型转换为值类型。

    看两种类型是否发生了装箱/拆箱,要看这两种类型是否存在继承关系。

    若存在,则可能发生装箱/拆箱,若不存在,则不可能发生装箱/拆箱。

  • 相关阅读:
    flash处理安全策略
    flash builder 命令行创建 AsDoc
    如何永久关闭选项"Tools > Close Other Forms"
    Oracle EBS Reports 日期格式 与 客户端日期格式(控制面板 > 区域和语言选项)
    ora00600 Metalink ID: 752428.1
    如何修改台EBS的用户密码
    dbms_utility.format_error_backtrace() 返回错误行
    SQL*PLUS命令的使用大全
    APPPER50022 (system administrator > profile > system . HR:User Type)
    客户端连接数据时会报“ORA12537:TNS连接已关闭”
  • 原文地址:https://www.cnblogs.com/DrHao/p/4900532.html
Copyright © 2011-2022 走看看