C#-数组和动态数组

  • C#-数组和动态数组已关闭评论
  • 142 次浏览
  • A+
所属分类:.NET技术
摘要

创建一个数组
int[] array = new int[10];
给数组中的第一个格子进行赋值
array[0] = 99;

创建一个数组
int[] array = new int[10];
给数组中的第一个格子进行赋值
array[0] = 99;

创建一个动态数组
ArrayList arrayList = new ArrayList();
动态数组添加一个值类型的数据
arrayList.Add(1);
动态数组添加一个字符串类型的数据
arrayList.Add("数据");
arrayList.Add("项目");
arrayList.Add("项目");
动态数组的第零号格子的数据和类型
Console.WriteLine(arrayList[0]+" "+arrayList[0].GetType());
动态数组删除内容为数据的元素
arrayList.Remove("数据");
动态数组删除指定格子的数据
arrayList.RemoveAt(0);
根据动态数组中的元素获得当前元素的索引(从前往后)
arrayList.IndexOf("项目");
根据动态数组中的元素获得当前元素的索引(从后往前)
arrayList.LastIndexOf("项目");
动态数组在指定位置插入对应的数据
arrayList.Insert(0, "插入");
动态数组从小到大排序
arrayList.Sort();

动态数组使用Remove进行删除如果数据结构中不存在要删除的数据,程序也会继续执行
动态数组使用RemoveAt进行删除的话有可能会导致索引超过数据结构中格子数量,程序崩溃,可以和查找配合使用。
动态数组使用IndexOf从前往后进行查找,返回当前要查找的索引,若是数组中不存在当前元素则会返回-1。
动态数组使用LastIndexOf从后往前进行查找,返回当前要查找的索引,若是数组中不存在当前元素则会返回-1。
若是数组中存在相同的数据,则IndexOfLastIndexOf返回的索引会不同。
动态数组使用Sort,请先确定已存的数据结构是否有不能够进行排序的数据

数组:在数据创建的时候就必须确定要存储的数据的类型,并且确定数据的长度。
动态数组:数组在创建的时候不需要确定要存储的类型(默认会是object,什么都能存),读取的时候会造成值类型的拆装箱问题,较为耗能。