我有一个接受锯齿状对象数组的方法。
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 };
如何将这些预定义的数组值传递,转换或转换为此方法?
答案 0 :(得分:4)
如果您使用的是.NET 4,那么可以使用Zip
方法合并两个数组:
MyDataBind(sDate.Zip(iCount, (s, i) => new object[] { s, i }).ToArray());
答案 1 :(得分: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),以获得更通用的解决方案。