2010-09-29 171 views
2

我有這樣的方法可以接受對象的鋸齒陣列。將陣列澆鑄到對象陣列

public void MyDataBind(object[][] data) 

我使用這樣

GoogleChart1.MyDataBind(new[] { new object[] { "September 1", 1 }, new object[] { "September 2", 10 } }); 

的問題將是如何傳遞/施放預定數組值這種方法? 假設我在下面有兩個數組,並且想將它們傳遞給該方法。

var sDate = new string[] {"September 1", "September 2"}; 
var iCount = new int[] { 1, 2 }; 

回答

4

編輯:

更簡單和更清潔:

var result = sDate.Select((s, index) => new object[] { s, iCount[index] }).ToArray(); 

一個簡單的解決方案:

List<object> items = new List<object>(); 
    for (int i = 0; i < sDate.Length; i++) 
     items.Add(new object[] { sDate[i], iCount[i] }); 
    var result = items.ToArray(); 

可以定義的方法結合(T []數組1,T [ ] array2)所以得到一個更通用的解決方案。

3

如果你使用.NET 4個,則Zip方法可用於合併兩個數組:

MyDataBind(sDate.Zip(iCount, (s, i) => new object[] { s, i }).ToArray());