最近在用C#.NET编写一个小工具的时候,用到了数组,但是用数组获取到内容后,往往有些内容或元素不是我们想要的,这时我们就需要把它们从数组中剔除,有时我们需要把数组中的第一个或最后一个元素剔除掉,有时我们需要把数组中任意指定位置的元素剔除掉,但是要实现这个过程,对于初学C#的同学来说还是有一定难度的,其实我们只要使用了ArrayList动态数组,这些问题就迎刃而解了,下面跟着系统天地官网小编来看下今天的教程C#.NET学习之如何去掉数组中任意指定位置的元素吧!
ArrayList,动态数组,顾名思义,它可以动态的添加和删除元素,我们也可以把它当做Array的复杂版本。
为了让大家通俗易懂的理解使用ArrayList去掉数组中任意指定位置的元素,下面我们以具体的例子做介绍:
我们首先定义一个string类型的数组,比如: string[] strArray={李三,张四,赵五,石头};
然后我们获取下这个数组的长度做备用:int m=strArray.Length;
这一看,就知道"石头"这个元素不是我们想要的,因为前面都是人名嘛,我们需要把它从数组中剔除掉,这是我们就需要用到ArrayList动态数组了。
我们新声明一个动态数组:ArrayList al=new ArrayList(strArray);
注意:如果我们要使用ArrayList动态数组,需要先添加命名空间Using System.Collections;
下面我们执行剔除操作:al.RemoveAt(m-1);
这句程序相信大家很容易理解,我们要删除的是最后一个元素,它使用了一个通过定义位置剔除元素的方法,m是数组长度,也就是元素个数,为什么m-1呢,因为数组元素的下标是从0开始的,这个就不多说了,大家都能理解。
如果是删除第一个元素,那么代码就是:al.RemoveAt(0);
剔除元素后,我们就把修改后的数组重新赋值给原数组:strArray=(string[])al.ToArray(typeof(string));
由于ArrayList的存储类型是object,我们将其转换成普通数组,转换方法与格式如上。
下面给大家整理下完整的代码:
string[] strArray={李三,张四,赵五,石头};
int m=strArray.Length;
ArrayList al=new ArrayList(strArray);
al.RemoveAt(m-1);
strArray=(string[])al.ToArray(typeof(string));