2016-03-08 89 views
0

我有一個類的構造函數接受params T[][] arrays傳遞動態數組入參數

public CartesianProduct(params T[][] arrays) 
{ 
} 

我傳遞低於該工作正常

string[] arr1 = { "MSG1" }; 
string[] arr2 = { "OFFER1", "OFFER2" }; 
string[] arr3 = { "CTA1", "CTA2" }; 
var cross = new CartesianProduct<string>(arr1,arr2,arr3); 

這工作得很好,如果我知道陣列的數量,然後將它傳遞的參數數組。問題是當我在窗體中創建一個按鈕來添加新的數組。例如,我有一個簡單的文本框和一個創建數組的按鈕。點擊添加新數組將創建另一個數組。我怎樣才能在參數中傳遞這些數組?幫助將不勝感激。在此先感謝

+0

沒有拿到最後一部分。請詳細說明。 –

+0

@FᴀʀʜᴀɴAɴᴀᴍ在上面的代碼我有這是在代碼中聲明並且這被作爲參數傳遞,但我使用button.And我需要通過所有的動態數組作爲參數 –

+0

在這種情況下創建動態陣列3個陣列,您可能想要顯示Button Clicking代碼 - 如何添加項目以創建新陣列。 – Ian

回答

0

您可以動態第4個參數添加到該呼叫。你可以動態創建包含其它陣列的任意數量的陣列,並且傳遞:

var aList = new List<string[]>(); 
aList.Add(arr1); 
//... 
var cross = new CartesianProduct<string>(aList.ToArray()); 

也可以考慮添加直接接受List另一個構造。