c# - 如何转换 IEnumerable到 C# 中的字节 []?
问题描述
如何在 c# 中转换IEnumerable<string>
为byte[]
c# 中是否有任何选项。可能包含IEnumerable<string>
大量数据。在每个字符串之后需要新行
解决方案
IEnumerable<string> myStrings = new[] { "hello", "world"};
var myBytes = myStrings.SelectMany(s => Encoding.UTF8.GetBytes(s)).ToArray();
这将UTF8
用作字节的编码。您可能需要使用不同的编码,具体取决于您之后要对字节执行的操作。
请注意 - 如上所述 - 这不是直接可逆的,因为您丢失了一个string
结束和下一个开始的信息。
如果你愿意,你可以NewLine
在每个字符串后面加上一个(或任何其他你可以用来分割的标识符)来保持它们分开:
var myBytes = myStrings.Select(s => s + Environment.NewLine)
.SelectMany(s => Encoding.UTF8.GetBytes(s)).ToArray();
有关SelectMany
查看文档的更多信息。
推荐阅读
- office365 - Outlook Web 加载项 - 在 Outlook 客户端中获取和设置会议室
- java - 在后台 java 控制台应用程序上打印字母 X
- sql - 在 postgresql 查询中需要拆分行的帮助
- kubernetes - 在 Helm 图表中编写自定义函数
- css - 导航选项卡上的 CSS 形状
- ubuntu-16.04 - 无法在 Ubuntu 服务器上安装 docker
- redux - 不可变 JS:更新嵌套的动态对象
- php - 如何使用 laravel 5.4 使用 cartalyst sentinel 发送激活电子邮件/代码
- c# - 如何在 ASP.NET MVC5 Razor 语法中向 SelectListItem 添加类?
- postgresql - 有没有办法将时间戳转换为纪元毫秒