如何把 datatable.rows[0]强制转换为一个自定义类?

来源:百度知道 编辑:UC知道 时间:2024/05/22 11:42:26

datatable.rows[0]的数据类型是System.Data.DataRow。如果你想把它转换为一个自定义的DataRow的子类,完全可以。但是如果是一个不能转换的类,可能你需要写一个类型转换器。
比如你需要把一个有两列id,Name的DataRow转换为一个有ID,Name两个属性的自定义类Person,可以在Person类定义一个静态转换方法:

public static Person ConvertFromDr(DataRow dr)
{
Person pr =new Person();
pr.ID=dr["id"].ToString();
pr.Name=dr["Name"].ToString();
return pr;
}

然后在需要进行转换的时候
Person pr = Person.ConvertFromDr(datatable.rows[0]);
实现转换。

int i;
i=(int)ds.datatable[0].Row[0][0].ToString();

你以为强制转化是万能的啊..强制转化一般都只能转化语言自己的基本数据内类型和object等最基本的类型..
你还想让datatable.rows[0]转化成你自己定义的类..这个比较难.在说你datatable.rows[0]里面的值是简单的值还是你这个类的实例还不清楚..如果是后者的或你试试使用泛型看看..

这个本来就是DataRow类型啊,又不是数据库里面取出来的,你有没有搞错啊。。。。。。