Array concatenation in C#

后端 未结 4 1180
故里飘歌
故里飘歌 2020-12-11 19:48
  1. How do I smartly initialize an Array with two (or more) other arrays in C#?

    double[] d1 = new double[5];
    double[] d2 = new double[3];
    double[] dTota         
    
    
            
相关标签:
4条回答
  • 2020-12-11 20:20
    using System.Linq;
    
    int[] array1 = { 1, 3, 5 };
    int[] array2 = { 0, 2, 4 };
    
    // Concat array1 and array2.
    var result1 = array1.Concat(array2).ToArray();
    
    0 讨论(0)
  • 2020-12-11 20:29
    var dTotal = d1.Concat(d2).ToArray();
    

    You could probably make it 'better' by creating dTotal first, and then just copying both inputs with Array.Copy.

    0 讨论(0)
  • 2020-12-11 20:39

    You need to call Array.Copy, like this:

    double[] d1 = new double[5];
    double[] d2 = new double[3];
    double[] dTotal = new double[d1.length + d2.length];
    
    Array.Copy(d1, 0, dTotal, 0, d1.Length);
    Array.Copy(d2, 0, dTotal, d1.Length, d2.Length);
    
    0 讨论(0)
  • 2020-12-11 20:42

    You could use CopyTo:

    double[] d1 = new double[5];
    double[] d2 = new double[3];
    double[] dTotal = new double[d1.Length + d2.Length];
    
    d1.CopyTo(dTotal, 0);
    d2.CopyTo(dTotal, d1.Length);
    
    0 讨论(0)
提交回复
热议问题