1

给定一个只读的整数集合,如何将其转换为字节数组?

ReadOnlyCollection<int> collection = new List<int> { 118,48,46,56,46,50 }.AsReadOnly(); //v0.8.2

将 'collection' 转换为 byte[] 的优雅方法是什么?

4

1 回答 1

4

您可以使用 LINQ 的Select方法将每个元素从int转换为byte。这会给你一个IEnumerable<byte>. 然后,您可以使用ToArray()扩展方法将其转换为byte[].

collection.Select(i => (byte)i).ToArray();

如果您不想使用 LINQ,则可以实例化数组并使用 for 循环来迭代集合,从而分配数组中的每个值。

var byteArray = new byte[collection.Count];

for (var i = 0; i < collection.Count; i++)
{
    byteArray[i] = (byte)collection[i];
}
于 2018-03-22T05:43:30.093 回答