Почему этот код работает только в том случае, если он вызывается в первый раз (добавляет первый элемент). В последующих вызовах, файл остается неизменным, содержащий только один пользовательДвоичный сериализатор не работает, кроме первого раза
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();
}
Пожалуйста, подтвердите свой код. «Пользователи» здесь - это локальная переменная, которую вы не возвращаете, поэтому, очевидно, она может содержать только одного пользователя, которого вы добавляете. –
это мой фактический код, я добавляю действительный объект пользователя каждый раз –
Surley есть более эффективный способ сделать это – Needham