zoukankan      html  css  js  c++  java
  • C#常用泛型集合

    我用#CSDN#这个app发现了有技术含量的博客,小伙伴们求同去《C#常用泛型集合》, 一起来围观吧 https://blog.csdn.net/Cloudkings/article/details/79243962?utm_source=app
     
    -------------------------------------------List<T>-----------------------------------------------------
     
    使用List<>泛型集合,需要引入System.Collections.Generic(命名空间)
    List<>是ArrayList的泛型等效类,即List<>对象的方法跟ArrayList一样,只不过它包含了泛型。
     
    假设我们有一个学生类,我们希望集合只能够存放学生这种元素,就可以这样。
     
    List<Student> stus = new List<Student>();
    Student stu = new Student("小红","10000");
    stus.Add(stu);
    这样一来,一旦我们添加了其他类型的数据,在编译器就会出错。
     
    stus.Add(1);    //编译期错误
     
    属性主要有两个:
     
    Count           //List<T>中包含的个数
    Item[Int32]     //获取或设置指定索引处的元素
     
    主要的方法:
     
    Add(T)          //将对象添加到List<T>末尾
    AddRange(<T>)   //将集合的元素添加到List<T>末尾
    AsReadOnly()    //返回当前集合的只读包装器
    BinarySearch(T) //在整个已排序的 List<T> 中搜索元素,并返回下标
    Clear()         //从 List<T> 中移除所有元素
    Contains(T)     //确定某元素是否在 List<T> 中
    IndexOf(T)      //返回集合中第一个匹配该元素的位置
    Insert(Int32, T)    //在指定位置,插入某个元素
    LastIndexOf(T)      //返回集合中最后一个匹配该元素的位置
    Remove(T)       //删除第一个匹配的元素
    Sort()          //进行正序排序
    Reverse()       //将整个 List<T> 中元素的顺序反转
     
    -------------------------------------------Dictionary<K,V>-------------------------------------------------
     
    Dictionary与Hashtable(哈希表)是等效的,只不过加了泛型,称为泛型哈希表(泛型字典)。
    使用Dictionary同样需要引入System.Collections.Generic
     
    Dictionary<int,Student> Stus = new Dictionary<int,Student>();
     
    Student stu = new Student(){Name="姓名",Id=1};
     
    Stus.Add(stu)
     
    //查找某个Key相对应的元素
    stus.ContainsKey(1);
     
    //遍历Dictionary中所有的元素
    foreach(KeyValuePair<int,Student> kv in stus)
    {
        Console.WriteLine("------{0}------",kv.Key);
        kv.Value.Show();
    }
     
    重要的属性:
     
    Count       // 键/值对的数目
    Item[TKey]  //获取或设置与指定的键关联的值
     
    重要的方法:
     
    Add(TKey, TValue)       //将指定的键和值添加到字典中
    Clear()                 //清空整个泛型集合
    ContainsKey(TKey)       //确定是否包含指定键
    ContainsValue(TValue)   //确定是否包含特定值
    Remove(TKey)            //将带有指定键的值从泛型集合中移除
     
  • 相关阅读:
    STM32-M0中断优先级介绍
    source insight之quicker.em宏的使用
    LORA---关于LORA的30个常见问题解答
    【原创】Mac上编译Hadoop1.0.3出现的一些问题
    Mac中下载JDK手动更新出现“只支持10.7.3以上的系统版本”问题解决方案
    【Java基础】Java内部类
    【Java基础】Java类及成员和修饰符的关系
    【Java基础】Java接口的总结
    【Java基础】抽象类和抽象方法的总结
    【Java基础】Java中的多态
  • 原文地址:https://www.cnblogs.com/gaoyangdev/p/12974316.html
Copyright © 2011-2022 走看看