c#如何去掉数组中的一个元素?winform中

例如。我得出一个数组为{null,1,2,3}我想删除第一个元素组成一个新的数组。求代码。给大神跪了... 例如。我得出一个数组为{ null ,1,2,3}

我想删除第一个元素组成一个新的数组。求代码。给大神跪了
展开
 我来答
赤水云
推荐于2017-09-04 · TA获得超过5029个赞
知道大有可为答主
回答量:2362
采纳率:86%
帮助的人:898万
展开全部
  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" };
玩转数据处理
2014-10-22 · 数据处理,Python,dotnet
玩转数据处理
采纳数:1613 获赞数:3794

向TA提问 私信TA
展开全部
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);
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zuiyuandejuni
2014-10-22
知道答主
回答量:33
采纳率:0%
帮助的人:5.9万
展开全部
去掉一个元素可以可是很麻烦!需要先从要去掉的那个元素下标的下一个下标开始全部往前进一位再把数组最后一个位置设为空
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
超大蒲公英
2014-10-22 · TA获得超过741个赞
知道小有建树答主
回答量:758
采纳率:75%
帮助的人:735万
展开全部
假设数组变量名叫a;

a=a.Skip(1).ToArray();
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式