2010-09-29 126 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());