C# 中如何删除数组中的元素的值

string[] array = new string[100];
声明一个100个元素的数组,里面填满了值 ;
现在,想要把数组中的元素的值都变成空值,就像它刚声明时那样,array=null;这样可以吗?还是有其它的方法?

C#数组删除元素

ArrayList arraylist=new ArrayList();

for(int i=0;i<7;i++)

{

arraylist.Add(i);

}

Console.WriteLine("1.数组列表的容量为{0},实际包含{1}个元素:",

arraylist.Capacity,arraylist.Count);

Show(arraylist);

arraylist.Remove(3);//删除数组元素

arraylist.RemoveAt(5);//删除指定索引位置5的元素

Console.WriteLine("2.数组列表的容量为{0},实际包含{1}个元素:",

arraylist.Capacity,arraylist.Count);

Show(arraylist);

Console.ReadLine();

}

}

}

扩展资料:

show命令的基本用法:

1、show tables或show tables from database_name;

2、show databases;

3、show columns from table_name from database_name;或show columns from database_name.table_name;--显示表中列名称。

4、show grants for user_name;--显示一个用户的权限,显示结果类似于grant命令。

5、show index from table_name;--显示表的索引。

6、show status;--显示一些系统特定资源的信息,例如,show table status like'%bk%';

7、show variables;--显示系统变量的名称和值。

8、show processlist;也可以写成show full processlist;

9、show table status;--显示当前使用或者指定的database中的每个表的信息。信息包括表类型和表的最新更新时间。

10、show privileges;--显示服务器所支持的不同权限。

11、show create database database_name;--显示create database语句是否能够创建指定的数据库。

12、show create table table_name;--获取建表语句。

13、show engines;--显示安装以后可用的存储引擎和默认引擎。

14、show innodb status;--显示innoDB存储引擎的状态,即把储存到硬盘里的数据的状态。

15、show logs;--显示BDB存储引擎的日志。

16、show warnings;--显示最后一个执行的语句所产生的错误、警告和通知。

17、show errors;--只显示最后一个执行语句所产生的错误。

18、show[storage]engines;--显示存储引擎

其中在建表的过程中,把engine设为memory是将数据放在内存中进行读取;若把engine设为innodb则是将数据放硬盘中进行读取。两者相比肯定是在内存中读取数据更快。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-09-23

    C#删除数组元素,因为长度定好是不能删除元素,C#没有带相应的函数,相对于其他语言,感觉比较坑,所以大家一般都是,把旧数组赋值给一个新数组,比如使用泛型类List<T>来操作:


    double[] arr = new double[50];
    List<double> list = arr.ToList();//把数组转换成泛型类
    list.RemoveAt(5+1);//利用泛型类remove掉元素
    double[] newarr = list.ToArray();//再由泛型类转换成数组

    如果像上述那样,是要动态变化的数组,你不如从一开始就定义成泛型类,估计在C#里面泛型类才是王道:


    List<string> a = new List<string>{ "a", "b", "c" };

第2个回答  2015-07-15
你可以这样试试 比如是int类型的数组,
int[] i=new int[]{12312312,31231,312312}

然后我要删除第二个元素的东西

i[1]=0;

我去循环便利这个数组

for(int j=0;j<i.Length;j++){
if(i[j]!=0){
//做你的需要做的操作
}
}

要是String类型的话
删除的时候就是直接修改成null,然后去判断.equals("")就行拉
其余像char什么的也差不了多少
第3个回答  2012-04-06
你可以定义个全局变量(int count =0;),循环数组时再进行判断,如果不为空,变量count++;
否则 继续(Continue)下轮循环。
第4个回答  推荐于2017-09-27
for(int i=0;i<100;i++)
{
array[i]=null;
}追问

那array=null;这样可以一次性吗?

追答

不行,这样的话array就不指向这个100个元素的字符串组了
对了你要变成空值 ,
应该是这样
for(int i=0;i<100;i++)
{
array[i]="";
}

追问

这个明白了,还有一问,答了就加分
array.length或array.count()都是得出数组元素个数,即使这个元素是空值,有没有什么办法得出这个数组中不是空值的元素的个数 ?

本回答被提问者采纳
相似回答