开发者社区> 问答> 正文

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

可以说我有这个数组

int[] numbers = {1, 3, 4, 9, 2}; 如何通过“名称”删除元素?,让我们说4吗?

甚至ArrayList没有帮助删除?

string strNumbers = " 1, 3, 4, 9, 2"; ArrayList numbers = new ArrayList(strNumbers.Split(new char[] { ',' })); numbers.RemoveAt(numbers.IndexOf(4)); foreach (var n in numbers) { Response.Write(n); }

展开
收起
保持可爱mmm 2020-02-06 23:59:09 450 0
1 条回答
写回答
取消 提交回答
  • 如果要删除所有4实例而不需要知道索引:

    LINQ:(. NET Framework 3.5)

    int[] numbers = { 1, 3, 4, 9, 2 }; int numToRemove = 4; numbers = numbers.Where(val => val != numToRemove).ToArray(); 非LINQ:(. NET Framework 2.0)

    static bool isNotFour(int n) { return n != 4; }

    int[] numbers = { 1, 3, 4, 9, 2 }; numbers = Array.FindAll(numbers, isNotFour).ToArray(); 如果只想删除第一个实例:

    LINQ:(. NET Framework 3.5)

    int[] numbers = { 1, 3, 4, 9, 2, 4 }; int numToRemove = 4; int numIndex = Array.IndexOf(numbers, numToRemove); numbers = numbers.Where((val, idx) => idx != numIndex).ToArray(); 非LINQ:(. NET Framework 2.0)

    int[] numbers = { 1, 3, 4, 9, 2, 4 }; int numToRemove = 4; int numIdx = Array.IndexOf(numbers, numToRemove); List tmp = new List (numbers); tmp.RemoveAt(numIdx); numbers = tmp.ToArray();

    问题来源于stack overflow

    2020-02-06 23:59:34
    赞同 展开评论 打赏
问答分类:
C#
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载