Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在C语言中将数据表单元格值转换为对象数组#_C#_Asp.net_Object_Datatable - Fatal编程技术网

C# 如何在C语言中将数据表单元格值转换为对象数组#

C# 如何在C语言中将数据表单元格值转换为对象数组#,c#,asp.net,object,datatable,C#,Asp.net,Object,Datatable,这是我的密码 object[] objrow = new object[]{"Test","test1","test2","test3","test4"}; object[] objrow1 = new object[]{"Test","test1","test2","test3","test4"}; DataTable dtentercodemfm = new DataTable(); dtentercodemfm.Columns.Add("objrow"); dtentercode

这是我的密码

object[] objrow = new object[]{"Test","test1","test2","test3","test4"};

object[] objrow1 = new object[]{"Test","test1","test2","test3","test4"};

 DataTable dtentercodemfm = new DataTable();
 dtentercodemfm.Columns.Add("objrow");
 dtentercodemfm.Columns.Add("objrow1");
 dtentercodemfm.Rows.Add(objrow, objrow1);
在获取这些数据的同时

object[] objrow = (object[])dtentercodemfm.Rows[0][0];
object[] objrow1 = (object[])dtentercodemfm.Rows[0][1];
给我一个错误

Unable to cast object of type 'System.String' to type 'System.Object[]'.
如何解决。你可以试试

object[] objrow = (object[]) Convert.ToString(dtentercodemfm.Rows[0][0]).Split(',') ;
这将起作用(经过尝试和测试)

创建列时,请执行此操作

dtentercodemfm.Columns.Add("objrow", typeof (object[]));
dtentercodemfm.Columns.Add("objrow1", typeof (object[]));

为什么这样做


因为当您在创建列时不提供类型时,默认类型是String。所以数据以字符串形式存储在DB中,即“System.Object”。

您不需要这样写问题吗

    dtentercodemfm.Columns.Add("objrow");

    dtentercodemfm.Rows.Add(objrow);
    dtentercodemfm.Rows.Add(objrow1);

    dtentercodemfm.AcceptChanges();
添加2行和1列,
您正在执行相反的操作,添加1列,然后添加2行

我认为
dtentercodemfm.rows[0][0]
返回
string
string
到对象数组没有显式对话。为什么不直接使用
objectobjrow=(object)dtentercodemfm.Rows[0][0]而不是?然后你可以将这些值添加到数组中。这是一个对象数组,那么如何使用对象呢explain@user1463105阅读我的答案。