C# 将 ReadOnlyCollection<int> 转换为 byte[] 数组

标签 c# arrays type-conversion readonly-collection

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

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

将“collection”转换为 byte[] 的优雅方式是什么?

最佳答案

您可以使用 LINQ 的 Selectint 转换每个元素的方法至 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];
}

关于C# 将 ReadOnlyCollection<int> 转换为 byte[] 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49421347/

相关文章:

java - 获取数组中元素的索引[错误]

swift - CGFloat 没有转换为 UInt32?

c# - 为什么 ? : cause a conversion error while if-else does not?

c# - 如何通过套接字发送多条消息

c# - 加载到 DataTable 时 NullValues 选项不起作用

c# - 我的数据库插入方法插入空值而不是填充值 C#

java - Java中正负的情况下如何进行类型扩展?

c# - 如何在BackgroundWorker中启动线程?

arrays - 如何将数组呈现为单选按钮列表?

arrays - 如何将字符串的每个单词放入 Swift 中的数组中?