对象数组到字节数组

时间:2012-03-19 18:06:12

标签: c# bytearray

我有一个List个对象,我想将其转换为byte[]

我的List定义如下:

List<object> objects = new List<object>
{
     "obj1", "obj2", "obj2"
};

是否可以以一种干净的方式将此列表转换为byte[]?该列表仅包含base64个字符串

感谢所有帮助

2 个答案:

答案 0 :(得分:4)

一块蛋糕:

objects.Select(s => Convert.FromBase64String(s)).SelectMany(i => i).ToArray();

如果objects真的是List<Object>,而@AustinSalonen指出,而不是List<String>,则需要确保您首先只有字符串:

objects.OfType<String>().Select(s => Convert.FromBase64String(s)).SelectMany(i => i).ToArray();

或演员:

objects.Cast<String>().Select(s => Convert.FromBase64String(s)).SelectMany(i => i).ToArray();

答案 1 :(得分:1)

这适用于字符串:

System.Text.Encoding enc = System.Text.Encoding.ASCII;  // Choose the right encoding here
List<byte[]> list = objects.Select(o=>enc.GetBytes(o.ToString()).ToList();