0

List<Cupon>テキストファイルに保存する必要があります。私はこのコードを使用しています:

File.WriteAllText(@"C:\Users\urim.sadiku\Desktop\Loja.txt", Cupo.ToString());
List<string> myList = new List<string>(Cupo.ToString().Split(','));

しかし、txtFile の出力は次のとおりです。

System.Collections.Generic.List`1[LojeShperblyese2.クーポン]

注 : で保存する必要がありますがSplit()、その方法がわかりません。

リストを正しく保存するにはどうすればよいですか?

4

3 に答える 3

1

ToStringonListはリストのすべての要素を連結してそれを返すわけではありません。そのようなものにはカスタム実装が必要です (または、このように動作する既存の型があるかもしれませんが、そうではありませんList)。

呼び出しているメソッドの名前、特にそのText部分に注意してください。

特定のケースを修正するには、string変数を定義し、リストのすべての要素をループして出力を作成し ( youstring += item)、次にFile.WriteAllText(yourstring)- またはこのメソッドのいくつかのバリエーションを使用する必要があります。 「一行でやる?!」というメソッドの SO です。

ただし、 を使用することもできますFile.WriteAllLines。これは同じことを行いますが、各要素の反復を処理します。

于 2013-02-05T10:09:19.790 に答える
0

ToString()クラスのメソッドをオーバーライドCouponして、ファイルに書き込みたい文字列を返す必要があることを追加する必要があります。そうすれば、IlyaIvanovの答えが機能します。

于 2013-02-05T10:58:16.653 に答える
0

デフォルトでToStringは、サブクラスでオーバーライドされていない場合、メソッドは型名を返します。

使ってみて

File.WriteAllText(@"C:\Users\urim.sadiku\Desktop\Loja.txt",
                 string.Join(",", Cupo));

これは、クラスToStringにメソッドを正しく実装していることを前提としていますLojeShperblyese2.Coupon

于 2013-02-05T10:11:16.167 に答える