为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

C#
慕莱坞森 2019-04-04 06:02:22
string[] array = new string[100];声明一个100个元素的数组,里面填满了值 ;现在,想要把数组中的元素的值都变成空值,就像它刚声明时那样,array=null;这样可以吗?还是有其它的方法?
查看完整描述

4 回答

?
拉风的咖菲猫

TA贡献1995条经验 获得超2个赞

你可以这样试试 比如是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什么的也差不了多少

查看完整回答
反对 回复 2019-04-05
?
慕婉清6462132

TA贡献1804条经验 获得超2个赞

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

 

1

2

3

4

double[] arr = new double[50];

List<double> list = arr.ToList();//把数组转换成泛型类

list.RemoveAt(5+1);//利用泛型类remove掉元素

double[] newarr = list.ToArray();//再由泛型类转换成数组

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

 

1

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



 


查看完整回答
反对 回复 2019-04-05
?
侃侃尔雅

TA贡献1801条经验 获得超16个赞

你可以定义个全局变量(int count =0;),循环数组时再进行判断,如果不为空,变量count++;
否则 继续(Continue)下轮循环。

查看完整回答
反对 回复 2019-04-05
?
Qyouu

TA贡献1786条经验 获得超11个赞

for(int i=0;i<100;i++)
{
array[i]=null;
}

查看完整回答
反对 回复 2019-04-05
  • 4 回答
  • 0 关注
  • 4242 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信