我想从 DataRow 对象创建一个对象。它可以通过遍历 Datarow 对象来完成。但这里的约束是 DataRow 列不固定。DataRow 可以拥有的列数可能会有所不同。我无法根据 ColumnName 遍历 DataRow,因为我不知道哪些列将在 datarow 中。
例如我有一堂课
class Abc
{
string attrib1;
string attrib2;
string attrib2;
public Abc(DataRow dr)
{
attrib1 = dr["attrib1"].ToString();
attrib2 = dr["attrib2"].ToString();
attrib3 = dr["attrib3"].ToString();
}
}
当 DataRow 对象具有所有三列时,这将正常工作。但如果不是,那么这将引发异常
请帮我。
我尝试在构造函数中使用 switch case,如下所示
class Abc
{
string attrib1;
string attrib2;
string attrib2;
public Abc(DataRow dr)
{
foreach (System.Data.DataColumn dc in record.Columns)
{
switch (dc.ColumnName)
{
case "attrib1" :
attrib1 = dr["attrib1"].ToString();
break;
case "attrib2" :
attrib2 = dr["attrib2"].ToString();
break;
case "attrib2" :
attrib3 = dr["attrib3"].ToString();
break;
}
}
}
}
虽然它工作正常,但我想知道这种方法是否很好。
请帮助解决这个问题
谢谢你