0
なぜこのコードは最初に呼び出されたときのみ機能しますか(最初の要素を追加します)。その結果としての呼び出しでは、ファイルは一つだけのユーザー初めてバイナリシリアライザが動作しない場合
public void AddUser(User user)
{
FileStream stream = new FileStream(PATH_TO_LOGINS, FileMode.OpenOrCreate);
BinaryFormatter formatter = new BinaryFormatter();
List<User> users=new List<User>();
if (stream.Length > 0)
users = (List<User>) formatter.Deserialize(stream);
users.Add(user);
formatter.Serialize(stream,users);
stream.Close();
}
実際のコードを表示してください。ここの 'users'はあなたが返さないローカル変数ですので、あなたが追加する1人のユーザだけを保持できます。 –
それは私の実際のコードです、私は有効なユーザオブジェクトを毎回追加します –
Surleyこれを行うより効果的な方法があります。 – Needham