使用c#按行将List <string>转换为字节数组

时间:2015-10-16 14:00:24

标签: c#

我想将字符串列表转换为字节数组以将其存储在sql表中,然后下载该文件。

在下面的代码中,我只关注转换部分。

List<string> Items = new List<string>();
Items.Add("1 - Test 1");
Items.Add("2 - Test 2");
Items.Add("3 - Test 3");

byte[] dataAsBytes = Items.SelectMany(s => System.Text.Encoding.UTF8.GetBytes(s))
                          .ToArray();

现在,当我将其作为txt文件下载时,输出为:

1 - Test12 - Test 23 - Test 3

如何更改我的代码,以便将下载文件中List<string>的每一行作为下面的输出:

1 - Test 1
2 - Test 2
3 - Test 3

3 个答案:

答案 0 :(得分:6)

您可以在查询中添加换行符。实质上是在每个字节之间添加换行字节。

byte[] dataAsBytes = Items.SelectMany(s =>
System.Text.Encoding.UTF8.GetBytes(s + Environment.NewLine)).ToArray();

答案 1 :(得分:4)

您可以连接新行字符串:

string fulltext = String.Join(Environment.NewLine, Items);
byte[] dataAsBytes = System.Text.Encoding.UTF8.GetBytes(fulltext);

答案 2 :(得分:0)

试试这个:

example.py