二维数组转DataTable 有自定义数据类型怎么转?转之后怎么正确读取

hhfh 2008-09-10 11:13:56
我放在DataTable(DataView)了

string[,] b = new string[4, 3] { { "11", "12", 自己的定义数据1}, { "21", "22", 自己的定义数据2 }, { "51", "22", 自己的定义数据3 }, { "41", "22", 自己的定义数据4} };
DataTable dt = new DataTable();
DataRow dr;
for (int i = 0; i < b.GetLength(1); i++)
{
dt.Columns.Add("m"+i.ToString());
}
for (int i = 0; i < b.GetLength(0); i++)
{
dr = dt.NewRow();
for (int j = 0; j < b.GetLength(1); j++)
{
dr[j] = b[i, j];


}
dt.Rows.Add(dr);
}
怎么定义列的字段定义

自己的定义数据1是我定义数据类型 如myRec

然后我读取
for (int i = 0; i < dt.Rows.Count; i++)

{
myRec currentRecord = (myRec)dt.Rows[i][2];
}
}

提示string转myRec类型出错
...全文
221 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
hustcyb 2008-09-10
  • 打赏
  • 举报
回复
dt.Column.Add(参数), 这个参数是这一列的字符串值索引,说简单一点,dt.Column.Add(参数)只是给这一列起一个好记一点的名字.
数据是存在Row[参数]中,存数据时,先装箱(转换成object)存入DataTable,取数据时你再折箱,转换成你的原始类型.
hhfh 2008-09-10
  • 打赏
  • 举报
回复

dt.Columns.Add("p1");
dt.Columns.Add("newRecord"); //字段类型怎么转为myRec 类型

DataRow dr;
for (int i = 0; i < 10; i++)

{
myRec newRecord=....; //自己的定义数据

dr =dt.NewRow();
dr[0] = i;
dr[1] = newRecord; //字段类型怎么转为myRec 类型
dt.Rows.Add(dr);
}
hustcyb 2008-09-10
  • 打赏
  • 举报
回复
你插入前已经把你自定义的数据类型变成了string类型,当然后面转不过来了,把
string[,] b = new string[4, 3] { { "11", "12", 自己的定义数据1}, { "21", "22", 自己的定义数据2 }, { "51", "22", 自己的定义数据3 }, { "41", "22", 自己的定义数据4} };

改为:

object[,] b = new object[4, 3] { { "11", "12", 自己的定义数据1}, { "21", "22", 自己的定义数据2 }, { "51", "22", 自己的定义数据3 }, { "41", "22", 自己的定义数据4} };

111,097

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧