我有一个返回二维数组的函数。由于程序的性质,我必须将其声明为一个对象。 喜欢这个
object o1 = function(x); //note the function returns something similar to this {string[x,y]};
最终我想将这些数据绑定到GridView 如果数组一维 ......以下方法可以正常工作。
gridView.DataSource = o1;
gridView.DataBind();
它不适用于多维数组。
我将使用以下代码将字符串数组转换为DataTable
DataTable dt = new DataTable();
dt.Columns.Add("Name", Type.GetType("System.String"));
dt.Columns.Add("Age", Type.GetType("System.String"));
dt.Columns.Add("Sex", Type.GetType("System.String"));
for (int i = 0; i < 5; i++)
{
dt.Rows.Add();
dt.Rows[dt.Rows.Count - 1]["Name"] = o1[i, 0];
dt.Rows[dt.Rows.Count - 1]["Age"] = o1[i, 1];
dt.Rows[dt.Rows.Count - 1]["Sex"] = o1[i, 2];
}
GridMultiD.DataSource = dt;
GridMultiD.DataBind();
问题显然是该对象实际上不是一个数组......但是包含一个数组。是否可以访问它?我得到的所有Google点击都是人们在询问如何创建对象数组...
非常感谢任何简化情况的想法,谢谢!
-Dave
注意:数组是 由DCOM服务器返回...所以必须作为对象返回...我想...
答案 0 :(得分:1)
如果函数的返回类型是object但它实际上返回了一个字符串数组,那么你不能简单地转换返回值吗?
string[,] array = (string[,]) o1;