C# 将数据列表放入HttpResponseMessages Content.NET

C# 将数据列表放入HttpResponseMessages Content.NET,c#,asp.net,asp.net-mvc,C#,Asp.net,Asp.net Mvc,我有一个下载文本文件的api。 它工作正常,并将数据保存在我的文本文件中。 到目前为止,我所做的如下所示: string data= "1"; HttpResponseMessage result = new HttpResponseMessage(HttpStatusCode.OK); result.Content = new StringContent(data); result.Content.Headers.ContentType = new MediaTypeHeaderValue

我有一个下载文本文件的api。 它工作正常,并将数据保存在我的文本文件中。

到目前为止,我所做的如下所示:

string data= "1";
HttpResponseMessage result = new HttpResponseMessage(HttpStatusCode.OK);
result.Content = new StringContent(data);

result.Content.Headers.ContentType = new MediaTypeHeaderValue("application/octet-stream");

result.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment");
result.Content.Headers.ContentDisposition.FileName = "file.txt";
return result;
我想要什么:

我想在result.Content中列出一个列表。示例列表数据如下所示:

List<BlobUploadModel> list= new List<BlobUploadModel>();

BlobUploadModel models = new BlobUploadModel();
models.FileName = "1";
list.Add(models);
BlobUploadModel models1 = new BlobUploadModel();
models1.FileName = "2";
list.Add(models1);
List List=新列表();
BlobUploadModel models=新的BlobUploadModel();
models.FileName=“1”;
列表。添加(型号);
BlobUploadModel models1=新的BlobUploadModel();
models1.FileName=“2”;
列表。添加(型号1);
在我的文本文件中,它显示:


如何做到这一点?

您的问题有点不清楚,我将回答我认为是什么,如果不是,请在评论中告诉我

作为
列表
的是内存中的一个独立数据结构,不能保存在文本文件中。可以保存在文件中的是
字符串

有很多方法可以做到这一点,但在您的情况下,这是最简单的:

var dataAsString = string.Join("\n", list.Select(obj => obj.FileName));

您现在可以将
dataAsString
保存到文件中。

示例图像中的文本文件并没有显示列表-它只是显示一个文本文件,其中包含由换行符分隔的数据

考虑到这一点,从列表中提取新行分隔数据的一种方法是:

// The filenames from the list
var filenames = list.Select(model => model.FileName);

// Filenames joined together in a newline-separated string
var data = string.Join(Environment.NewLine, filenames);

@JeroenHeier结果内容中保存的数据列表在哪里?你能告诉我行号吗?它不是在文本文件中创建新行。它在同一行中显示输出:12。我想在2点前换一条新线路。