我有一个List
对象,我想将其转换为byte[]
我的List
定义如下:
List<object> objects = new List<object>
{
"obj1", "obj2", "obj2"
};
有可能以某种干净的方式将此列表转换为byte[]
吗?该列表仅包含base64
字符串
感谢所有帮助
小菜一碟:
objects.Select(s => Convert.FromBase64String(s)).SelectMany(i => i).ToArray();
如果objects
真的是@AustinSalonen所指出的List<Object>
,而不是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();
这应该适用于字符串:
System.Text.Encoding enc = System.Text.Encoding.ASCII; // Choose the right encoding here
List<byte[]> list = objects.Select(o=>enc.GetBytes(o.ToString()).ToList();