我有一个List
个对象,我想将其转换为byte[]
我的List
定义如下:
List<object> objects = new List<object>
{
"obj1", "obj2", "obj2"
};
是否可以以一种干净的方式将此列表转换为byte[]
?该列表仅包含base64
个字符串
感谢所有帮助
答案 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();