0

我有一个列表,其内容在我的 dataGrid 中显示得很好,代码如下:

dataGridView1.DataSource = lstExample;

这告诉我我的列表很好,当我查看 dataGrid 时,它有我需要的所有数据。但是当我尝试使用此代码将相同的列表输出到文本文件时:

string output = @"C:\output.txt";
File.WriteAllLines(output, lstExample);

我收到此错误:

Argument 2: cannot convert from 'System.Collections.Generic.List<AnonymousType#1>' to 'System.Collections.Generic.IEnumerable<string>' 

我需要做什么来解决这个问题?

4

3 回答 3

1

尝试这个 :

TextWriter tw = new StreamWriter("output.txt");                       
tw.WriteLine(String.Join(", ", lstExample));
于 2013-10-27T18:07:56.813 回答
1

一个简单的示例,显示您必须对列表执行的操作:

List<int> lst = new List<int>();
lst.Add(1);
File.WriteAllLines(@"C:\1\text.txt", lst.Select( i => i.ToString()));

只是你必须将你的匿名类型转换为字符串(可能是 string.Format("{0} {1}", iA, iB);

于 2013-10-27T18:08:30.903 回答
1

如果您只是想将匿名类型转换为字符串,这将有所帮助。

File.WriteAllLines(output, lstExample.Select(x=>x.ToString()));

如果这还不够,那么您必须提供更多关于您需要如何输出以及如何定义匿名类型等的信息

于 2013-10-27T18:11:15.937 回答