【发布时间】:2011-04-12 15:47:51
【问题描述】:
如何获取 List 并将其转换为字节数组。
我认为可能有一些聪明的 LINQ 选项,但不确定 eg/List.ForEach
【问题讨论】:
-
简单的 for 循环有什么问题?
-
1 byte[] 代表列表中的每个字符串,或者单个 byte[] 包含列表中的所有字符串。?
如何获取 List 并将其转换为字节数组。
我认为可能有一些聪明的 LINQ 选项,但不确定 eg/List.ForEach
【问题讨论】:
取决于您想使用哪种编码将string 转换为byte[],但这里有一个ASCII 示例。它几乎可以替代任何编码类型
List<string> data = ...
byte[] dataAsBytes = data
.SelectMany(s => Text.Encoding.ASCII.GetBytes(s))
.ToArray();
【讨论】:
使用简单的 foreach 循环:
(伪代码)
List<byte[]> bytes = new List<byte[]>();
ForEach string el in somelist
{
byte[] arr;
System.Text.UTF8Encoding encoding=new System.Text.UTF8Encoding();
arr = encoding.GetBytes(el);
bytes.add(arr);
}
【讨论】:
List<byte[]>,但OP要求byte[]