Csh*_*arp 4 c# asp.net generics collections
我有一个包裹递送应用程序,下面的代码中出现错误:
public class DeliveryDriver
{
public List<int> DriverID { get; set; }
public List<string> DriverName { get; set; }
}
var IDeliveryDriver = new List<DeliveryDriver>();
foreach (DataRow dr in dsDriverID.Tables[0].Rows)
{
IDeliveryDriver.Add(new DeliveryDriver
{
DriverID = (List<int>)dr["DriverId"],
DriverName = (List<string>)dr["DriverName"]
});
}
Run Code Online (Sandbox Code Playgroud)
错误发生在该IDeliveryDriver.Add
行,并进入catch块。错误是:
无法将类型为“ System.Int32”的对象转换为类型为“ System.Collections.Generic.List`1 [System.Int32]”
是什么导致错误?
错误消息说明了一切- DriverId
每行中的字段是一个int
,而不是一个List<int>
。同为DriverName
一个string
,而不是一个List<string>
。您应该将DriverId
和DriverName
属性分别更改为int
和string
,然后也强制转换为正确的类型:
public class DeliveryDriver
{
public int DriverID { get; set; }
public string DriverName { get; set; }
}
...
foreach (DataRow dr in dsDriverID.Tables[0].Rows)
{
IDeliveryDriver.Add(new DeliveryDriver
{
DriverID = (int) dr["DriverId"],
DriverName = (string) dr["DriverName"]
});
}
Run Code Online (Sandbox Code Playgroud)
毕竟,每个送货司机只有一个名字和一个ID,不是吗?
归档时间: |
|
查看次数: |
10143 次 |
最近记录: |