集合

1、集合的引用

using System.Collections;//添加类

2、定义集合(ArrayList 或 Array)

ArrayList arr = new ArrayList();

3、添加数据(可以放多种不同数据类型,但最好只放一种)

(一)单个数据

方法1:add增加

arr.Add();
arr.Add();
arr.Add("hello");

输出结果:

Console.WriteLine("add[0]:"+arr[]); //通过添加元素的先后顺序生成从0开始的索引,通过索引读取数据,输出结果为"3"
Console.WriteLine("add[1]:" + arr[]);//5
Console.WriteLine("add[2]:"+arr[]);//hello

方法2:insert插入,使从索引所示的数据开始的数据向后移动一位

arr.Insert(, );//Insert(索引,插入的数据)

输出结果:

Console.WriteLine("insert[0]"+arr[]);//
Console.WriteLine("insert[1]" + arr[]);//
Console.WriteLine("insert[2]" + arr[]);//
Console.WriteLine("insert[3]" + arr[]);//hello

(二)数组:

1、追加一组数据addrange

int[] shuzu = new int[] { , ,  };
arr.AddRange(shuzu);

遍历:

foreach (object o in arr)//因为集合中可能会有多种数据,所以要用object(基类)进行遍历,所有类型都可以转化为这个类型
{
Console.WriteLine("遍历1:" + o);
}

2、从指定索引开始插入一组数据InsertRange

arr.InsertRange(, shuzu);
//遍历
foreach (object o in arr)
{
Console.WriteLine("遍历2:" + o);
}

4、移除数据:(只移除第一个匹配项)

(一)移除指定数据(值):Remove

arr.Remove();//移除值为17的数据
foreach (object o in arr)
{
Console.WriteLine("Remove后:" + o);
}

(二)移除指定索引位置的元素:RemoveAt

arr.RemoveAt();
Console.WriteLine("Remove后索引为[3]的数据:"+arr[]);

5、排序:

(1)sort:自动按升序排列

ArrayList arr1 = new ArrayList();
for (int i = ; i < ; i++)
{
arr1.Add(int.Parse(Console.ReadLine()));
}
arr1.Sort();
foreach (object o in arr1)
{
Console.WriteLine("升序sort:"+o);
}

(2)Reverse:翻转集合的排序(使其变为降序)

arr1.Reverse();
foreach (object o in arr1)
{
Console.WriteLine("翻转reverse后降序:"+o);
}

6、集合的属性:

count:返回集合里面有多少元素

Console.WriteLine("元素个数为:" + arr1.Count);

7、返回索引IndexOf

Console.WriteLine("hello所在的索引为:"+arr.IndexOf("hello"));//只返回第一个匹配项所在的索引
Console.WriteLine("hello所在的最后一个匹配项所在的索引为:" + arr.LastIndexOf("hello"));//返回最后一个匹配项所在的索引

**插入的数组索引也是按单个数据排列的,如:插入一组三个数的数组,会建立三个索引。

8、contains:判断是否有某个元素,返回bool值

arr.Contains(1);

9、清空集合

arr.Clear();

10、C#基础整理(集合)的更多相关文章

  1. JAVA基础整理-集合篇(一)

    集合作为JAVA的基础知识,本来感觉自己理解的很清楚了,但是在最近的一次面试中还是答得不尽如人意!再次做一下整理,以便加深理解以及随时查阅. 首先,java.util包中三个重要的接口及特点:List ...

  2. 备战金三银四!一线互联网公司java岗面试题整理:Java基础+多线程+集合+JVM合集!

    前言 回首来看2020年,真的是印象中过的最快的一年了,真的是时间过的飞快,还没反应过来年就夸完了,相信大家也已经开始上班了!俗话说新年新气象,马上就要到了一年之中最重要的金三银四,之前一直有粉丝要求 ...

  3. 机器学习 —— 基础整理(六)线性判别函数:感知器、松弛算法、Ho-Kashyap算法

    这篇总结继续复习分类问题.本文简单整理了以下内容: (一)线性判别函数与广义线性判别函数 (二)感知器 (三)松弛算法 (四)Ho-Kashyap算法 闲话:本篇是本系列[机器学习基础整理]在time ...

  4. [转帖]nginx基础整理

    nginx基础整理 https://www.cnblogs.com/guigujun/p/6588545.html 目录结构如下: Nginx基础知识 Nginx HTTP服务器的特色及优点 Ngin ...

  5. Windows 10开发基础——文件、文件夹和库(一)

    原文:Windows 10开发基础--文件.文件夹和库(一) 主要内容: 1.枚举查询文件和文件夹 2.文本文件读写的三种方法——创建写入和读取文件 3.获得文件的属性 枚举查询文件和文件夹 先了解一 ...

  6. Mac使用最多的软件,整理集合

    软件资源 #[PDF移除密码]Cisdem PDFPasswordRemover 3.0.0 [TNT] #Alfred_3.1.1_737 #fwmso2016vlu2.0 #iHosts #Omn ...

  7. 10个基础的linux网络和监控命令

    配置zookeeper集群时,需要查看本机ip,输入命令 hostname -i   就会只显示主机ip, 下边搜了一篇常用的    命令,闲的时候多敲敲命令,以便用的时候再找! 我下面列出来的10个 ...

  8. MySQL基础整理(一)之SQL基础(未完成)

    大家好,我是浅墨竹染,以下是MySQL基础整理(一)之SQL基础 1.SQL简介 SQL(Structure Query Language)是一种结构化查询语言,是使用关系模型的数据库应用语言. 2. ...

  9. java基础-Map集合

    java基础-Map集合 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Map集合概述 我们通过查看Map接口描述,发现Map接口下的集合与Collection接口下的集合,它 ...

  10. JavaScript基础笔记集合(转)

    JavaScript基础笔记集合   JavaScript基础笔记集合   js简介 js是脚本语言.浏览器是逐行的读取代码,而传统编程会在执行前进行编译   js存放的位置 html脚本必须放在&l ...

随机推荐

  1. nyoj 115------城市平乱( dijkstra // bellman )

    城市平乱 时间限制:1000 ms  |  内存限制:65535 KB 难度:4   描述 南将军统领着N个部队,这N个部队分别驻扎在N个不同的城市. 他在用这N个部队维护着M个城市的治安,这M个城市 ...

  2. SAP客户标准信用额度修改和创建

    好吧,前提要说一下,信贷是到客户的信贷范围级别的. FUNCTION zfm_credit. *"---------------------------------------------- ...

  3. 固定定位fixed(IE6)

     position: fixed;          left:200px;          top:100px;          _left:200px;          _top:100px ...

  4. jquery.query.js 插件的用法

    转载自:http://www.cnblogs.com/dachie/archive/2010/09/16/1827840.html 代码如下: var url = location.search; & ...

  5. ORACLE 日期比较

    oracle sql日期比较:在今天之前: select * from up_date where update < to_date('2007-09-07 00:00:00','yyyy-mm ...

  6. 如何删除href=""中的链接?

    答案:在dw中操作,删除 HTML文件的href的链接地址\href="[^"]*"href="" 同理可以在title="[^" ...

  7. bzoj 2186: [Sdoi2008]沙拉公主的困惑

    #include<cstdio> #include<iostream> #define ll long long #define N 10000009 using namesp ...

  8. IT公司100题-18-圆圈中最后剩下的数字

    问题描述: n个数字(下标为0, 1, …, n-1)形成一个圆圈,从数字0开始,每次从这个圆圈中删除第m个数字(当前数字从1开始计数).当一个数字被删除后,从被删除数字的下一个数字开始计数,继续删除 ...

  9. Python应用与实践

    http://www.cnblogs.com/skynet/archive/2013/05/06/3063245.html

  10. IntelliLock托管代码保护和许可授权管理系统软件详细介绍及下载

    IntelliLock是一个能用于控件与应用程序许可授权的100%托管的先进解决方案.与.NET Reactor提供的基于源代码保护的授权许可系统不同,IntelliLock选择了以100%托管的方式 ...