这是我的代码.可以在Linqpad中运行.
void Main(){
List<Object> listobj=new List<object>{
new object[]{"A01001","sucess","on"},
new object[]{"A01002","fail","off"}};
listobj.Dump();
var second = listobj.Cast<RowItem>();
second.Dump();
}
public class RowItem {
public string GOODS_ID { get; set; }
public string AUDIT_STATUS { get; set; }
public string APPLY_STATUS { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我想转换List<object>为List<RowItem>,但当我使用cast方法时,它返回一个错误cannot convert type 'System.Object[]' to class RowItem
这是可能的,还是有另一种方法来实现这一目标?
谢谢.
您listobj的类型在许多级别上都是错误的.该类型是隐藏为对象数组的对象数组的集合.如果您想继续使用相同的类型,这里的代码将起作用.
void Main()
{
List<Object> listobj = new List<object>{
new object[]{"A01001","sucess","on"},
new object[]{"A01002","fail","off"}};
listobj.Dump();
var second = listobj.Cast<object[]>().Select(l => new RowItem {
GOODS_ID=l[0].ToString(),
AUDIT_STATUS=l[1].ToString(),
APPLY_STATUS=l[2].ToString()
});
second.Dump();
}
public class RowItem
{
public string GOODS_ID { get; set; }
public string AUDIT_STATUS { get; set; }
public string APPLY_STATUS { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1536 次 |
| 最近记录: |