C# 将 ReadOnlyCollection<int> 转换为 byte[] 数组
C# convert ReadOnlyCollection<int> to byte[] array
给定一个只读的整数集合,如何将其转换为字节数组?
ReadOnlyCollection<int> collection = new List<int> { 118,48,46,56,46,50 }.AsReadOnly(); //v0.8.2
将 'collection' 转换为 byte[] 的优雅方法是什么?
您可以使用 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];
}
给定一个只读的整数集合,如何将其转换为字节数组?
ReadOnlyCollection<int> collection = new List<int> { 118,48,46,56,46,50 }.AsReadOnly(); //v0.8.2
将 'collection' 转换为 byte[] 的优雅方法是什么?
您可以使用 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];
}