c#如何去掉数组中的一个元素?winform中
例如。我得出一个数组为{null,1,2,3}我想删除第一个元素组成一个新的数组。求代码。给大神跪了...
例如。我得出一个数组为{ null ,1,2,3}
我想删除第一个元素组成一个新的数组。求代码。给大神跪了 展开
我想删除第一个元素组成一个新的数组。求代码。给大神跪了 展开
5个回答
展开全部
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" };
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" };
展开全部
string [] arr 亮拦逗= { "abc1", "abc2", "abc3", 敬卖};
ArrayList al = new 衡李ArrayList(arr);
al.RemoveAt(1);
arr = (string [])al.ToArray(typeof(string));
追问
太谢谢了
追答
...........................................................................
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2014-10-22
展开全部
不能去掉,只有重新弄个数组 ,把不需要去掉的弄到新数组里面。
追问
求大神教我解决方案
追答
去掉数组中为Null项的例子,全手工,可用:
object[] Arr = new object[5] { null, 1, 2, 3, null };
object[] ArrC = new object[5]; //默认长度同Arr的长度
int length = Arr.Length;
int newArrIndex = 0;
for (int i = 0; i < Arr.Length; i++)
{
if (Arr[i] == null) { length--; } //如果为null,则length-1
else
{
ArrC[newArrIndex] = Arr[i];
newArrIndex++;
}
}
object[] newArr = new object[newArrIndex];//去掉null之后的完整数组
Array.Copy(ArrC, 0, newArr, 0, newArrIndex); //取出ArrC数组的newArrIndex个数据放到新数组newArr里面
请笑纳!
当然了,如果你只想去掉第一项:
那么直接:
object[] Arr = new object[4] { null, 1, 2, 3};
object[] newArr= new object[3];
Array.Copy(Arr, 1, newArr, 0, 3);
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
去掉一个元素可以可是很麻祥世烦!谨孝肢需要先从要去掉的那个元素下标的下一个下标开始全部往前进慎含一位再把数组最后一个位置设为空
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
假设数组变量名叫a;
a=a.Skip(1).ToArray();
a=a.Skip(1).ToArray();
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询