• 第06篇:C#星夜拾遗之几个重要的集合类 拓荒者


    技术之外的话

    苏轼《后赤壁赋》:有客无酒,有酒无肴;月白风清,如此良夜何?技术员在做技术之余,欣赏一下古诗词也是很好的。呵呵,这是一些闲话。

     

    前言

    C中要保存一组数据,通常要做一个数组或链表来存放。在C#中,我们不用这么麻烦了,因为C#中提供了一些实用的集合类,通过这些集合类,可以方便的管理一组或多组内存对象。这些集合包括ArrayListHashTableList<T>等。

     

    ArrayList

    MSDN中对ArrayList的介绍只有一句话:使用大小可按需动态增加的数组实现 IList 接口。这里推荐ArrayList的原因是在C#中不支持动态数组,可以通过实用ArrayList实现动态数组的功能。

    ArrayList的操作有常用的AddInsertRemoveIndexOf。通过这些方法可以实现器大部分操作。对于这些操作可以参考这里,或请参见MSDN中的说明ArrayList成员

     

    Hashtable

        MSDN中的描述:表示键/值对的集合,这些键/值对根据键的哈希代码进行组织。

        有些朋友可能手工的实现过Hashtable的功能。在C语言中散列算法是很重要的,遗憾的是笔者没有学好,所学的知识只能够草草应付老师作业了事。好在C#中提供了Hashtable类来实现键/值对的操作功能。

        Hashtable的操作更为简单,Add方法用来添加一个键/值对,通过键可以直接访问到值,也就是说,如果定义了一个dtHashtable对象,则可以通过dt[key],得到一个Object对象的Value,如果这个key值不存在,则会返回一个null

        这些操作都是很方便和使用的,不需要多说。希望了解的朋友可以参考MSDN中的HashtableHashtable成员

     

    List<T>

        MSDN中的描述:表示可通过索引访问的对象的强类型列表。提供用于对列表进行搜索、排序和操作的方法。

        这里的强类型类表即所谓的泛型。什么是泛型呢?单单这一个问题就够讨论上几页了,我只简单的说明:所谓泛型,指的是T可以是任何其它类型,但必须是一个固定的类型。当这个类型确定后,List<T>对象只能是T类的实例,这是我对泛型用法上的认识,希望了解正解的朋友可以参考C#泛型简介

        List<T>在用法上并没有什么特别,C#为它提供了丰富的操作,可以参照MSDN中的List<T>List<T>成员对其进行了解。

     

    结束语

    这么快就结束了,这篇其实只提出了这三个类,并没有对它们的用法进行说明。我将其列出,只是为了告诉初学者朋友,常用的集合中,这三个是很重要的。希望深入了解,请参照MSDN

    2021年9月 北京、西安两地,高薪诚聘 .NET工程师,请私信联系!
    如果认为此文对您有帮助,别忘了支持一下哦!
    声明:本博客原创文字只代表本人工作中在某一时间内总结的观点或结论,与本人所在单位没有直接利益关系。转载时请在文章页面明显位置给出原文链接。
  • 相关阅读:
    一个IT工薪族的4年奋斗成果
    一个IT工薪族的4年奋斗成果
    【VBA】制作散点图及打标签VBA
    【VBA】合并多个excel文件
    【统计分析】ROC曲线
    【ARDUINO】HC-05蓝牙不配对问题
    【ARDUINO】串口无法打开问题
    【ARDUINO】蓝牙(HC-05)透传
    【Raspberry pi+python+mysql】红外传感器-发邮件-存数据库
    【Raspberry Pi】crontab 定时任务
  • 原文地址:https://www.cnblogs.com/youring2/p/1736474.html
Copyright © 2020-2023  润新知