zoukankan      html  css  js  c++  java
  • 【2017-03-02】C#集合,结构体,枚举

    集合

    集合与数组的区别

    数组:同一类型,固定长度

    集合:不同类型,不固定长度

    使用集合前需要:     引用命名空间:using System.Collections;

    1、普通集合 

    定义:

    ArrayList 集合名称 = new ArrayList();(普通集合,弱类型集合)

    赋值:

    集合名称.Add(object类型的值);       object类型:所有类型的基础类型(基类) string,int,bool,datetime任意类型都可以

    取值:

    集合名称[索引]    与数组取值一样     集合索引按先后输入顺序排列

    获取个数:

    集合名称.Count         只能统计个数,不能统计长度

    插队:

    集合名称.Insert(索引,变量)

    移除:

    集合名称.Remove(变量)     移除该集合中第一个变量;

    集合名称.RemoveAt(索引)      移除该集合中该索引位置的变量;

    反转:
    集合名称.Reverse();         将该集合所有变量全部反转
    集合名称.Reverse(索引,int值)     指定反转:将集合中从该索引开始反转,反转个数为该int值

    清空:
    集合名称.Clear();

    2、泛型集合(最常用的集合)

    泛型集合针对同一类型(取值操作方便) 强类型集合

    普通结合针对所有类型(取值操作不方便)弱类型集合

    定义:List<T> 集合名称 =new List<T>();    T:表示泛型,指定基类,可以为string,int,bool,datetime任意类型;

    操作与普通类型代码完全一致。

    3、哈希表集合        自定义索引集合(弱类型)

    定义:Hashtable 集合名称 =new Hashtable()

    赋值:集合名称.Add(object key,object value)    key是键,value是值,称为一个键值对;

    取值:集合名称[键]=value;    字符串索引需加""

    不能插队也不能反转

    foreach循环打印时,需声明打印的是键还是值

    foreach(string s in hs.Values)

    {

    Console.WriteLine(s);

    }

    4、字典集合     (强类型)

    Dictionary<键, 值> 集合名称 = new Dictionary<键, 值>();

    前后键和值的类型必须一致;

    5、队列集合   

    Queue  集合名称=new Queue();

    赋值:集合名称.Enqueue(变量);

    取值:集合名称.Enqueue();     将集合中第一个变量往外输出

    队列集合遵循先进新出的原则,先赋值的,最先出去,一次只能一个一个的出

    6、栈桥集合

    Stack 集合名称=new Stack();

    赋值:集合名称.Push(变量);

    取值: 集合名称.Pop();     将集合中最后一个变量往外输出

    与队列集合相反,遵循先进后出的原则

    foreach循环,又称为遍历

    foreach(数据类型 i in 集合名称)        //打印该集合中所有此数据类型的变量

    {

    Console.WriteLine(i);                i可以任意值代替

    }

    结构体

    结构体属于用户自定义类型;

    定义位置:定义在Main函数的外面,类的里面

    定义格式:
    struct 自定义名字
    {
    public 数据类型 名称;
    public 数据类型 名称;
    ...
    ...
    }

    声明实例化:
    结构体类型 集合名称 = new 结构体类型();

    Student s = new Student();

    集合类型<结构体名称>集合名称=new 集合类型<结构体名称>();

    如:List<Student> s =new List<Student>();

    单独定义个体:  Student a =new Student();

    需根据集合类型进行相应的赋值和取值

  • 相关阅读:
    Visual Studio IDE 背景色该为保护眼睛色
    搭建windows server 2008 r2 FTP 后 开启防火墙无法访问的解决办法
    Div+CSS展示物流跟踪轨迹信息
    如何删除打印队列中的任务
    用SoapUI进行Webservice的性能压力测试
    C# httpwebrequest post 传输百分号‘%’
    在线转换工具
    JSON数据转换到POCO的代码
    后端接口的幂等性(转)
    全局流水ID号生成的几种方法
  • 原文地址:https://www.cnblogs.com/snow22546/p/6502918.html
Copyright © 2011-2022 走看看