我有一个名为list的araylist对象,这里我想将我的arraylist对象转换为byte [],同时执行下面的编码,它给出了一个错误:“源数组中至少有一个元素无法转发到目标数组类型” 我的编码:
byte[] obj= new byte[list.Count];
list.CopyTo(obj);
这里我的数组列表对象从ssrs reports返回报告数据。我想在这里解决这个问题。
答案 0 :(得分:3)
看看这个(这会告诉你哪里可能有问题)
List<object> list = new List<object>();
list.Add((byte)1);
list.Add((byte)0);
list.Add("wtf");
list.Add((byte)1);
byte[] obj = list.OfType<byte>().ToArray();
if(obj.Length!=list.Count)
{
//Exception, not all objects in list is 'byte'
}
答案 1 :(得分:1)
如果您的意思是ArrayList包含byte
类型的项,那么请使用以下语法:
byte[] obj = (byte[])list.ToArray(typeof(byte));
否则你想要的东西不清楚,因为对象不能像那样强制转换为字节,所以请更好地解释。