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

2 回答 2

4

如果您使用的是 .NET 4,则该Zip方法可用于合并两个数组:

MyDataBind(sDate.Zip(iCount, (s, i) => new object[] { s, i }).ToArray());
于 2010-09-29T14:32:29.840 回答
3

编辑:

更简单、更干净:

 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();

您可以定义一个方法 Combine(T[] array1, T[] array2) 以获得更通用的解决方案。

于 2010-09-29T14:28:12.110 回答