一集合

1、可为不同类型,不固定长度

2、集合类型分为泛型集合(强类型集合)与非泛型集合(弱类型集合)。

3、非泛型集合的类和接口位于using System.Collections命名空间。

4、泛型集合的类和接口位于using System.Collections.Generic命名空间。

表达式

List <int>  arr = new List<int>();       //强类型  ,每个集合中只含有同一种类型

ArrayList  arr  =  new ArrayList();       //弱类型

arr.Add(  10  );C

arr.Add( "aaa" );                               //  赋值    集合名 . Add( );

arr.Add( 10.5 );

arr.Add( true );                                 // T (object)基类,可用于所有类型

arr.Add(  dt  );

Console.WriteLine(  arr [ 索引 ] );        //取值   集合名 [ 索引 ]

foreach ( int i  in arr )                         // foreach  遍历,将 i 代表的每一个内容循环一遍

{

Console.WriteLine( i );                    // 打印 使用 foreach 遍历

}

方法

插队    .Insent ( 索引 , 值/变量 );

arr.Insent( 2,30 );   在索引 2 的位置上插入值为 30 的数

移除     .Remove( 值  )

.RemoveAt( 索引  )            arr.Remove( 10 )     移除第一个与值相匹配的对象。

arr.RemoveAt( 1 )   移除索引 1 所标记的对象。

反转     .Reverse(  );

.Reverse(  索引 , 值  );       arr.Reverse( );       全部反转

arr.Reverse( 1,3 );  从索引 1 (包含)开始往后 3 个对象进行反转

清空         .Clear();

计算个数   .Count;                         //集合是一个开放性的没有长度只有个数

是否包含  .Contains(  );                 // 对所有集合都适用

案例:是否包含“bbb”,是否包含"b"

List <string> sl = new  List<string>();

sl.Add("aaa");

sl.Add("bbb");

sl.Add("ccc");

1 是否包含"bbb"

(1)

bool has = false;

foreach (string s in sl)

{

if ( s=="bbb")

has = true

}

(2)

bool  has = sl.Contains("bbb");

Console.WriteLine( has );

2 是否包含"b"

bool has = false

foreach (string s in sl )

{

if ( s .Contins(" b ") )

has = ture

}


特殊集合

一 哈希表集合(弱)

弱类型,用户自定义索引。不能插队,不能反转,可删可清。

表达式

Hashtable  hs  =  new Hashtable ();

赋值    hs . Add ( 建,值);                //利用键值对赋值, 建:keys  值:values

取值     hs [  建 ]

打印     foreach (string s in hs )         //类型要统一

[

Console.WriteLine( s );

]

二 字典(强)

表达式

Dictionary  <键 , 值>  dic  =  new  Dictionary  <键 , 值>  (  );

// 建 同一类型。值 同一类型。


三 队列集合                      //先进先出

表达式

Queue  q  = new  Queue( );

赋值  q . Enqueue( );

取值  q . Dequeue( );       // 返回并移除集合中的对象。

四 栈桥集合                      //先进后出

表达式

Stack  st  =  new  Stack;

赋值  st . push ( );

取值  st . pop ( );              //返回并移除

C# 集合 特殊集合的更多相关文章

  1. 【BZOJ-4199】品酒大会 后缀数组 + 并查集合并集合

    4199: [Noi2015]品酒大会 Time Limit: 10 Sec  Memory Limit: 512 MBSubmit: 436  Solved: 243[Submit][Status] ...

  2. Linq to 泛型集合查询集合包括大写M和年龄小于等于18

    #region Linq to 泛型集合查询集合包括大写M和年龄小于等于18            //List<Student> list = new List<Student&g ...

  3. IT第二十一天 - Collections、ArrayList集合、LinkedList集合、Set集合、HashMap集合、集合的操作注意【修20130828】

    NIIT第二十一天 上午 集合 1. 集合Collection存储数据的形式是单个存储的,而Map存储是按照键值对来存储的,键值对:即键+值同时存储的,类似align="center&quo ...

  4. 数组转集合、集合转数组、字符串数组与int型、long型数组等的转换

    在项目中经常会遇到数组转集合.集合转数组.数组之间类型转换等操作 1.数组转集合 为了实现把一个数组转换成一个ArrayList,很多Java程序员会使用如下的代码: String str[] = { ...

  5. 廖雪峰Java5集合-1Java集合简介-1Java结合简介

    1.集合 定义:集合就是一堆东西.集合里的东西,称为元素Element 数学中的集合: 有限集合: * 一个班所有的学生组成的集合 * 一个网站所有的商品组成的集合 无限集合: * 全体自然数集合 * ...

  6. Java集合 -- ArrayList集合及应用

    JAVA集合 对象数组 集合类之ArrayList 学生管理系统 斗地主案例 NO.one 对象数组 1.1 对象数组描述 A:基本类型的数组:存储的元素为基本类型 int[] arr={1,2,3, ...

  7. Java集合----Set集合

    Set集合 Set 集合不允许包含相同的元素,如果试把两个相同的元素加入同一个 Set 集合中,则添加操作失败. Set 判断两个对象是否相同不是使用 == 运算符,而是根据 equals 方法 Ha ...

  8. Java集合----List集合

    List List 代表一个元素有序.且可重复的集合,集合中的每个元素都有其对应的顺序索引List 允许使用重复元素,可以通过索引来访问指定位置的集合元素.List 默认按元素的添加顺序设置元素的索引 ...

  9. 集合_java集合框架

    转载自http://blog.csdn.net/zsw101259/article/details/7570033 Java集合框架图 简化图: Java平台提供了一个全新的集合框架.“集合框架”主要 ...

  10. Java 集合学习--集合概述

    一.集合框架 集合,通常也叫容器,java中有多种方式保存对象,集合是java保存对象(对象的引用)的方式之一,之前学习的数组是保存对象的最有效的方式,但是数组却存在一个缺陷,数组的大小是固定的,但是 ...

随机推荐

  1. 吐嘈OpenCV的图像旋转功能 >_<7

    實在出乎我的意料!OpenCV竟然連這么簡單的功能都沒有封裝!還要讓本大爺自己動手寫!強烈要求OpenCV下一個版本添加本功能! 函數功能和這個網頁一樣,只不過這個作者寫的太糟了,我把它變得簡潔了一點 ...

  2. asp.net 增加404页面(非302、200)

    由于项目改版,导致产生了许多死链,但是之前的404页面都是在Application_Error中Response.Redicet()到404页面,但是这样子是302跳转,导致搜索引擎认为网页不是死链而 ...

  3. MVC简介与三层架构

    感谢博客园团队日夜辛苦的付出 感谢阅读我文章的每位读者 1.MVC简介 MVC最早于1978年提出,是软件工程中的一种软件架构模式,这时距离微软在1985年推出Window1.0还有7年之久,当时的M ...

  4. 使用jQuery实现一个类似GridView的编辑,更新,取消和删除的功能

    先来看看下面实时效果演示: 用户点击编辑时,在点击行下动态产生一行.编辑铵钮变为disabled.新产生的一行有更新和取消的铵钮,点击“取消”铵钮,删除刚刚动态产生的行.编辑铵钮状态恢复. 更新与删除 ...

  5. JVM调优推荐

    此文已由作者赵计刚薪授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 1.JVM的调优主要是内存的调优,主要调两个方面: 各个代的大小 垃圾收集器选择 2.各个代的大小 常用的 ...

  6. ASP.NET CORE之上传文件夹

    最近闲余时间在做一个仿百度网盘的项目,其中就有一个上传文件夹的功能.查了下网上好像对这个问题的描述比较少,所以在此记录一下. 1.网上找来找去发现webkitdirectory这个东西,H5的一个新的 ...

  7. 31_网络编程-struct

    一.struct   1.简述  我们可以借助一个模块,这个模块可以把要发送的数据长度转换成固定长度的字节.这样客户端每次接收消息之前只要先接受这个固定长度字节的内容看一看接下来要接收的信息大小,那么 ...

  8. 对股市骗子内部的一次apt测试

    i春秋作家:jasonx 前言 由于这件事情搞了很久,中间很多截图已经没有了,所以文章中出现的部分截图是后面截的. 文中很多地方涉及敏感信息,为了我的人身安全,打码比较严重,还请多多理解. 起因 前不 ...

  9. 脱壳系列—— 揭开so section加密的美丽外衣

    i春秋作家:HAI_ 0×00 前言 对so的加密,https://bbs.pediy.com/thread-191649.htm大神的帖子里已经很详细的说明了.当然加密不是我们研究的重点,如何搞掉这 ...

  10. linux shell使用别名,切换当前目录

    别名alias 别名就是一种快捷方式,以省去用户输入一长串命令序列的麻烦. 别名使用alias命令 比如 alias cp='cp -i' alias l.='ls -d .* --color=tty ...