【问题标题】:Converting List<string> to byte[]将 List<string> 转换为 byte[]
【发布时间】:2011-04-12 15:47:51
【问题描述】:

如何获取 List 并将其转换为字节数组。

我认为可能有一些聪明的 LINQ 选项,但不确定 eg/List.ForEach

【问题讨论】:

  • 简单的 for 循环有什么问题?
  • 1 byte[] 代表列表中的每个字符串,或者单个 byte[] 包含列表中的所有字符串。?

标签: c# .net generics c#-4.0


【解决方案1】:

取决于您想使用哪种编码将string 转换为byte[],但这里有一个ASCII 示例。它几乎可以替代任何编码类型

List<string> data = ...
byte[] dataAsBytes = data
  .SelectMany(s => Text.Encoding.ASCII.GetBytes(s))
  .ToArray();

【讨论】:

    【解决方案2】:

    使用简单的 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&lt;byte[]&gt;,但OP要求byte[]
    猜你喜欢
    • 2018-08-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-17
    • 1970-01-01
    • 2021-01-13
    • 2011-02-15
    • 2023-03-10
    相关资源
    最近更新 更多