Unity开发之C#基础-集合(ArrayList)

前言

之前 我们学习到了可以将元素存储到一个地方的东西,也就是“数组” 其实 在c#中 不只有数组可以用来存储数据 接下来我们讲解到的是ArrayList(集合)的使用。
制作不易还请各位一键三连哦!

文章目录

  • 前言
  • 练习
  • ArrayList的介绍
  • 优点
  • 缺点
  • 集合(ArrayList)的使用
    • 集合(ArrayList)常用方法
  • 集合(ArrayList)常用方法
  • 总结

练习

在讲解集合(ArrayList)之前 我们先做一个练习 以便我们更好的理解集合的作用:

如题:定义一个整数类型数组名为array 其中数组的元素具有1,2,3,5,6,定义一个整型变量4,并将变量4插入到数组array中,位置是3的后面5的前面 并输出所有元素

结果:
Unity开发之C#基础-集合(ArrayList)_第1张图片

我们会发现一个问题 就是很繁琐 可以说非常繁琐 可这种插入添加删除等操作 对我们来做游戏来说 比如我在商店新购买了一件东西 那你需要放到仓库里 这就是一个添加吧 那你整理仓库的话 需要排序 那原来的顺序乱了 又要重新插入排序等等。。。 是不是麻烦的很 这个时候 ArrayList集合 就显得方便很多啦。

ArrayList的介绍

System.Collections.ArrayList类是一个特殊的数组。通过添加和删除元素,就可以动态改变数组的长度。

那么 我们都有数组了 为什么要用ArrayList来存储数据呢?下面我们来看ArrayList具有哪些优点

优点

  1. 支持自动改变大小的功能
  2. 可以灵活的插入元素
  3. 可以灵活的删除元素
  4. 可以灵活的访问元素

缺点

  1. 跟一般的数组比起来,速度上差些
  2. ArratList不是类型安全的

那么 我们讲了优缺点 可怎么使用ArrayList呢?

集合(ArrayList)的使用

集合(ArrayList)常用方法

  1. 添加
    Unity开发之C#基础-集合(ArrayList)_第2张图片

这就是集合中 “添加元素”的使用 是不是很简单明了 还有其他方法
2. 插入
Unity开发之C#基础-集合(ArrayList)_第3张图片
3. 将另一个集合中的元素插入到指定的集合索引处

Unity开发之C#基础-集合(ArrayList)_第4张图片
4.删除元素
Unity开发之C#基础-集合(ArrayList)_第5张图片
4. 删除集合中指定范围内的元素
Unity开发之C#基础-集合(ArrayList)_第6张图片

  1. 移除所有集合元素

Unity开发之C#基础-集合(ArrayList)_第7张图片
集合当中还有很多分装好的方法 这里我给大家列举出来一些常用的 各位可以自行去试试都是什么效果 方便以后使用。

集合(ArrayList)常用方法

  1. public virtual void Sort(); 对ArrayList或它的一部分中的元素进行排序
  2. public virtual void Reverse(); 将ArrayList或它的一部分中元素的顺序反转
  3. public virtual int IndexOf(Object value); 查找指定的Object,并返回整个ArrayList中第一个匹配项的从零开始的索引。ps:(如果找到了对应的元素则返回对应的索引(Indexof是从索引0开始查找 也就是从开头开始查找的 如果你当前集合中有两个或者更多相同的元素则只会返还给你第一个查找到的元素的索引(从头开始算)),未找到则返回-1)
  4. public virtual int IndexOf(Object value,int startIndex); 查找指定的 Object并返回 ArrayList 中从指定索引到最后一个元素的元素范围内第一个匹配项的从零开始的索引。
  5. public virtual int IndexOf(Object value,int startIndex,int count); 查找指定的 Object并返回ArrayList 中包含指定的索引开始并包含指定的元素数的元素范围内第一匹配的从零开始的索引
  6. public virtual int LastIndexOf(Object value); 查找指定的Object,并返回整个ArrayList中最后一个匹配项的从零开始的索引。ps:(如果找到了对应的元素则返回对应的索引(LastIndexof是从最后一位元素开始查找 也就是从末尾开始查找的 如果你当前集合中有两个或者更多相同的元素则只会返还给你最后一个查找到的元素的索引(索引也是从头开始算,而不是说从末尾开始算)),未找到则返回-1)
  7. public virtual int LastIndexOf(Object value,int startIndex); 查找指定的 Object,并返回 ArrayList中从第一个元素到指定索引的元素范围内最后一个匹配项的从零开始的索引。
  8. public virtual int LastIndexOf(object value,int startIndex,int count); 查找指定的Object,并返回ArrayList中包含指定的元素数并在指定索引处结束的元素范围内最后一个匹配项的从零开始的索引。
  9. public virtual bool Contains(Object item); 确定某元素是否在ArrayList中(返回结果为布尔类型)
    10.public virtual int Count{get;} 获取ArrayList中实际包含的元素数

总结

数组和集合(ArrayList)都具有各自的优点与用途 如果当你这个功能的某些东西就是只需要固定的数量也不需要做一些动态的变化 那么就可以使用数组 不是说一定用集(ArrayList)合理运用每一种都会使你的程序事半功倍。

你可能感兴趣的:(unity,c#,游戏程序,游戏引擎,开发语言,visual,studio,idea)