2016-11-09 66 views
-4

這是Excersice從學校我,但我是個有點卡住:/的毗連2個陣列和導致一個C#

「寫的方法Concat,它會採取整數兩個數組作爲參數,並返回 數組返回的數組應該是合併兩個 輸入數組的結果。「

我只有這麼遠我不知道如何做「結束」或什麼更多的補充。正如你可能猜測新的。我嘗試雜色山雀的事情,但我不能得到它的竅門:/

public int Concat() 
    { 
     int[] x = new int[] { 1, 2, 3 }; 
     int[] y = new int[] { 4, 5, 6 }; 

     int[] z = x.Concat(y).ToArray(); 


    } 
+2

你知道如何將參數傳遞給方法嗎?什麼是返回類型的方法? –

+0

您所做的只是使用現有的方法。我懷疑這是一個允許的解決方案。所以寫你自己的。 您需要創建一個長度爲x.Length + y.Length的新數組並相應地加載所有字段。 你至少應該表現出一些努力。 – CSharpie

+3

這不是一項家庭作業服務。 – CSharpie

回答

0

試試這個

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

對於一個被傳遞參數卡住的人來說,這不是一個很好的答案。 – Poody

+1

此外,這使用CopyTo,我打賭歐普在這裏要求他的功課。老師可能想要使用for-loops的解決方案。 – CSharpie

+1

這看起來很熟悉... http://stackoverflow.com/questions/1547252/how-do-i-concatenate-two-arrays-in-c – sr28

0

你要通過兩個參數的方法,然後CONCAT例如像那些陣列@Tony Vincent提到:

public int[] Concat(int x, int[] y) 
{ 
    var z = new int[x.Length + y.Length]; 
    x.CopyTo(z, 0); 
    y.CopyTo(z, x.Length); 

    return z; 
} 
0

你需要傳遞你調用函數的地方的兩個參數。我在下面提供一個示例。

class Program 
{ 
    public int[] Concat(int[] x, int[] y) 
    { 
     int[] z = x.Concat(y).ToArray(); 
     return z; 

    } 
    static void Main(string[] args) 
    { 
     Program program = new Program(); 
     int[] x = new int[] { 1, 2, 3 }; 
     int[] y = new int[] { 4, 5, 6 }; 
     int[] z = program.Concat(x, y); 
     Console.ReadLine(); 
    } 
} 

在這裏,我們已通過x和y的concat方法,它將返回合併後的陣列和將存儲的主要方法的z int數組英寸