C# 集合类自己经常用到: 数组(Array)、动态数组(ArrayList)、列表(List)、哈希表(Hashtable)、字典(Dictionary),对于经常使用的这些数据结构,做一个总结,便于以后备忘使用。

1 所在命名空间

using System.Collections.Generic;

using System.Collections;

2 ArrayList

ArrayList的长度可动态变化,每个元素都是Object类型,主要运用 数据初始化,增查改删,复制,排序,倒序。

2.1 初始化

//三种不同的初始化方法,重载方法
//创建不同副本,zd10-01

//空的arraylist,ArrayList()

ArrayList arr1 = new ArrayList();

//创建容量为5,ArrayList(int capacity)
ArrayList arr2 = new ArrayList(5);

//5个元素 ,ArrayList(ICollection c)

int[] ary = { 0,1,2,3,4};
ArrayList arr3 = new ArrayList(ary);

2.2 遍历

private void NavagateArrayList(ArrayList arrlst)

{

foreach(object obj in arrlst)

{

MessageBox.Show(obj.ToString());

}

}

2.3增查改删

//zd10-01

常用属性

count,Item,IsFixedSize,IsReadOnly

方法

增:

Add,AddRange,SetRange,InsertRange;

//例

ArrayList arr1 = new ArrayList();

//从0开始

arr1.Add("Head");

int[] ar={1,2,3};

arr1.AddRange(ar);

arr1.Add("Tail");

//在索引1的位置插入”index1“

arr1.Insert(1,”index1“);

string[] strary={"index2","index3"};

//插入数组

arr1.InsertRange(2,strary);

//遍历

NavagateArrayList(arr1);

删:

Clear,Remove,RemoveAt,RemoveRange

//删除最后一个元素,Tail

arr1.Remove("Tail");

arr1.RemoveAt(1);

//arr1.Clear();

搜索:

IndexOf,LastIndexOf,BinarySearch

//返回指定元素在数组中第一次出现的索引

int index =arr3.IndexOf(3);

int lindex =arr3.LastIndexOf(3);

排序:

Sort,Reverse

arr1.Sort();

NavagateArrayList(arr1);

//倒序

arr1.Reverse();

NavagateArrayList(arr1);

创建副本:

CopyTo,ToArray,GetRange,ReadOnly,FixedSize

其他:

TrimToSize,ToString.....and so on

//请看懂再转载,防止百度上搜索的答案一模一样浪费生命

C# 集合类(一)动态数组ArrayList的更多相关文章

  1. 数据结构与算法系列2 线性表 使用java实现动态数组+ArrayList源码详解

    数据结构与算法系列2 线性表 使用java实现动态数组+ArrayList源码详解 对数组有不了解的可以先看看我的另一篇文章,那篇文章对数组有很多详细的解析,而本篇文章则着重讲动态数组,另一篇文章链接 ...

  2. [数据结构1.2-线性表] 动态数组ArrayList(.NET源码学习)

    [数据结构1.2-线性表] 动态数组ArrayList(.NET源码学习) 在C#中,存在常见的九种集合类型:动态数组ArrayList.列表List.排序列表SortedList.哈希表HashTa ...

  3. C#集合类:动态数组、队列、栈、哈希表、字典(转)

    1.动态数组:ArrayList 主要方法:Add.AddRange.RemoveAt.Remove 2.队列:Queue 主要方法:Enqueue入队列.Dequeue出队列.Peek返回Queue ...

  4. C#集合类:动态数组、队列、栈、哈希表、字典

    1.动态数组:ArrayList 主要方法:Add.AddRange.RemoveAt.Remove 2.队列:Queue 主要方法:Enqueue入队列.Dequeue出队列.Peek返回Queue ...

  5. C#动态数组ArrayList和List<T>的比较

    C#中一维动态数组(即列表)分ArrayList和List<T>两种,其容量可随着我们的需要自动进行扩充 一.ArrayList类(少用) ArrayList位于System.Collec ...

  6. 关于C#中的动态数组ArrayList

    在C#中,如果需要数组的长度和元素的个数随着程序的运行不断改变,就可以使用ArrayList类,该类是一个可以动态增减成员的数组. 一.ArrayList类与Array类的区别 ArrayList类实 ...

  7. C#动态数组ArrayList

    在C#中,如果需要数组的长度和元素的个数随着程序的运行不断改变,就可以使用ArrayList类,该类是一个可以动态增减成员的数组. 一.ArrayList类的常用属性和方法 1. ArrayList类 ...

  8. 动态数组 - ArrayList

    前言 如果数组的大小要随时间变化,那么数组操作起来就比较麻烦. 在C++中,这种情况要用到动态向量Vector. 而Java中,提供了一种叫做ArrayList的泛型数组结构类型,提供相似的作用. 其 ...

  9. 动态数组ArrayList的使用

    1.定义类 package com.realhope.rmeal.bean; /** * * @author Wucy * 菜谱类 */ public class Menu{ private Inte ...

随机推荐

  1. VUE 安装项目

    注意:在cmd中执行的命令 1,前提是安装了node.js 查看 npm 版本号 2,创建项目路径 mkdir vue cd vue 3,安装vue-cli (脚手架) npm install -个v ...

  2. Linux系统常用API总结

    1.错误处理 - fprintf() - perror() 2.通用I/O模型 - fd = open(pathname, flags, mode) - numread = read(fd, buff ...

  3. 多测师讲解 _接口自动化框架设计_高级讲师肖sir

    背景:因为把传入接口参数.组建测试用例.执行测试用例和发送报告,都放入一个.py文件对于接口的使用非常不灵活就需要数据和接口业务进行分离让代码之间的 耦合性降低.和实现接口的分层管理,所以需要对代码进 ...

  4. 用 C 语言游戏编程开发!果然最担心的事又发生了!

    30了.我要怎么办,老了.人就像一头小毛驴,方向都是牵着的人定的. 这个项目从去年开始的,一个手机游戏,当时接这个项目的时候其实没有太多考虑,我一向都喜欢打肿脸充胖子的,好面子,人家找上门来,不能不给 ...

  5. windbg加载符号表

    0x00 前言 在使用windbg调试windows中的程序时会经常碰到一些系统的dll里面的一些函数调用,有些函数是没有具体函数名的,这对于调试非常不利,基于此,微软针对windows也发布了很多系 ...

  6. vue任意关系组件通信与跨组件监听状态 vue-communication

    大家好!我是木瓜太香! 众所周知,组件式开发方式给我们带来了方便,不过也引入了新的问题,组件之间的数据就像被一道无形的墙隔开,如果我们希望临时让两个组件直接通信,vuex 太巨,而 $emit 又不好 ...

  7. logstash -grok插件语法介绍

      介绍 logstash拥有丰富的filter插件,它们扩展了进入过滤器的原始数据,进行复杂的逻辑处理,甚至可以无中生有的添加新的 logstash 事件到后续的流程中去!Grok 是 Logsta ...

  8. kafka伪集群搭建

    https://blog.csdn.net/zxy987872674/article/details/72466504

  9. composer 打印美化

    { "name": "brady_frmwork", "description":"php framwork", &qu ...

  10. python 爬取简书评论

    import json import requests from lxml import etree from time import sleep url = "https://www.ji ...