2016-11-04 1 views
-2

現在選択されているペットをすべて保存するためにゲームを終了すると、このコードが実行されます(これは学校のために "Squirtle" 。問題のコードは次のとおりです。StreamWriterがすべての文字を書き込んでいない

using (StreamWriter sw = File.CreateText(@"..\..\pets.txt")) 
{ 
    sw.AutoFlush = true; 
    foreach (Pet p in petList) 
    { 
     sw.Write(p.PetID + ' '); 
     sw.Write(p.Name + ' '); 
     sw.Write(p.HP + ' '); 
     sw.Write(p.Type + ' '); 
     sw.Write(p.Level + ' ' ); 
     sw.Write(p.Rarity + ' '); 
     sw.WriteLine(p.Speed);        
    } 
} 

コンマが空白だったと私はちょうど、基本的には関係なく、私はそれを実行する回数を最初の二つの問題を試してみて、修正する自動フラッシュを添加していない、しかし、次の二つの、そして最後の3つのデータにはスペースがありません。例:32SQUIRTLE 77AQUATIC 41930。これは実行するたびに発生し、誰がこのようにしているのか分かりませんか?スペースやカンマがStreamWriterなどで有名になっている場合でも、任意の区切り文字を使用できます。

+4

です''と '' ''はあなたの問題を解決しますか? –

+0

ストリームの作家が走ったあと、それを見ているだけです。私は二重引用符を試してみて、それが修正されているかどうか確認します。 –

答えて

8

あなたはInt + Charをしているあなたが交換した場合、この操作のオーバーロード、あなたが何をしたいのか、そのUnicodeコードポイントにスペースをキャストし、演算に

をやっているInt + (int) Charにおけるだろう結果は `p.PetID.ToString() + " "

+0

それは私が考えていたものですが、 。 –

+0

@ScottChamberlain私は実際にこれの前にこのように1つの問題を実際にデバッグしました。100%確実なケースです:D – Steve

+1

ありがとうございました。 –

関連する問題