集合

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. 漫谈iOS Crash收集框架

    漫谈iOS Crash收集框架   Crash日志收集 为了能够第一时间发现程序问题,应用程序需要实现自己的崩溃日志收集服务,成熟的开源项目很多,如 KSCrash,plcrashreporter,C ...

  2. OUT函数及其熟练使用,split的用法

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  3. 建库和表的脚本.sql

    1.一直都记不太清楚,需要新建一个数据库和表的脚本是怎样的,恰巧今天翻到了,特地记录下来,希望以后用的时候记住吧! create database testdb00; use testdb00; cr ...

  4. [示例]NSPredicate基础-查询数组中负荷条件的子集

    代码: #import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepo ...

  5. c# 调用 ShellExecute

    using System.Runtime.InteropServices; namespace ConsoleTest{    class Program    {        public enu ...

  6. Oracle中any和all的区别用法

    对于any,all的用法,书中说的比较绕口,难以理解,如果通过举例就会比较清晰. any的例子: select * from t_hq_ryxx where gongz > any (selec ...

  7. 改变Chrome浏览器主程序_缓存_个人信息路径

      改变Chrome浏览器缓存_个人信息路径(亲测) actionx2上传于2012-10-26|(7人评价)|3077人阅读|41次下载|文档简介|举报文档    在手机打开   改变 Chrom ...

  8. Linux摄像头驱动学习之:(二)通过虚拟驱动vivi分析摄像头驱动

    一.通过指令 "strace -o xawtv.log xawtv" 得到以下调用信息:// 1~7都是在v4l2_open里调用1. open2. ioctl(4, VIDIOC ...

  9. C++中两块内存重叠的string的copy方法

    如果两段内存重叠,用memcpy函数可能会导致行为未定义. 而memmove函数能够避免这种问题,下面是一种实现方式: #include <iostream> using namespac ...

  10. C/C++中函数参数传递详解(一)

    *在定义时使用代表指针类型,其他情况代表取内容.&在定义时使用代表引用(别名),在其他情况代表取地址 在编写个人函数的时候,你将会受到C++中的一条基本的原则的限制:在默认的情况下,变量只能以 ...