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 に答える