'无法将类型字符串隐式转换为数据行[]'。
是否可以将字符串类型存储到数据行[]?我需要将特定列的值存储在该特定数据行数组中。请给我一个答案。
DataRow[] drprocess = objds.Tables[0].Rows[i]["ProcessName"].ToString();
答案 0 :(得分:1)
您已声明一个名为DataRow[]
的{{1}}类型的变量,但尚未创建一个DataRows数组,可在其中放置任何值。相反,你试图告诉编译器你正在检索的字符串实际上是一个DataRow,它不是。
您可能想要创建DataRows数组,然后创建DataRow对象并将其分配到数组中。但是,我怀疑这实际上并不是你想要实现的目标。请注意,drProcess
已经是DataRows的集合。如果需要,您可以自己编辑或使用此集合。
或者,如果您想要创建新的流程名称集合,可能最好创建objds.Tables[0].Rows
,然后调用var processes = new List<string>()
。
这完全取决于你之后想要对这个过程名称集合做什么。
答案 1 :(得分:0)
首先,DataRow
始终属于DataTable
。这些新DataRow
属于哪个表格?我会假设objds.Tables[0]
。
我还假设您有一个字符串列,并且您希望将其中的每个字段拆分为DataRow[]
,然后我们需要知道分隔符。
假设它是逗号:
DataRow[] drprocess = objds.Tables[0].Rows[i].Field<string>("ProcessName").Split(',')
.Select(name => {
DataRow row = objds.Tables[0].NewRow();
row.SetField("ProcessName", name);
return row;
})
.ToArray();