【问题标题】:What's the best way to add an item to a C# array?将项目添加到 C# 数组的最佳方法是什么?
【发布时间】:2013-05-18 21:17:12
【问题描述】:

我有以下数组:

int[] numbers;

有没有向数组添加数字的好方法?我没有找到连接 2 个数组的扩展方法,我想做类似的事情:

numbers = numbers.Concat(new[] { valueToAdd });

【问题讨论】:

  • 你的连接几乎是正确的,它只需要一个 .ToArray() 在最后。但如果你要多次这样做,最好使用List<int> 或其他合适的集合。​​

标签: c# arrays extension-methods


【解决方案1】:

要连接 2 个数组,请查看:How do I concatenate two arrays in C#?

我可以建议的最佳解决方案是简单地使用

List<int> numbers

并且在需​​要时调用 ToArray() 扩展方法(而不是相反)。

【讨论】:

    【解决方案2】:

    你可以试试这个..

    var z = new int[x.length + y.length];
    x.CopyTo(z, 0);
    y.CopyTo(z, x.length);
    

    或

    List<int> list = new List<int>();
    list.AddRange(x);
    list.AddRange(y);
    int[] z = list.ToArray();
    

    或

    int[] array1 = { 1, 3, 5 };
    int[] array2 = { 0, 2, 4 };
    
    // Concat array1 and array2.
    var result1 = array1.Concat(array2);
    

    【讨论】:

    • 您需要在最后一条语句中添加ToArray() 以改进 OP 的代码,因为他想要一个数组作为结果。
    • 我只是给了他选择...他可以去列表...这是最好和最简单的方法...:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-12-17
    • 2013-02-21
    • 1970-01-01
    • 2016-08-16
    • 2018-08-10
    • 2015-09-25
    • 1970-01-01
    相关资源
    最近更新 更多