Я не смог найти ответ на этот вопрос
На самом деле я дизайнер карт, использующий C # Windows App. Я хочу сохранить пользовательскую карту в базе данных, поэтому сначала я получил все свойства карты и попыталсясериализовать его и поместить в байтовый массив.Это код для сохранения карты в байтовый массив и ее сериализации.
public byte[] SaveAsByte()
{
//Save this card in a file
SerializedCard sc = new SerializedCard();
BinaryFormatter formatter = new BinaryFormatter();
Stream stream = new System.IO.MemoryStream();
sc.CardWidth = this.CardWidth;
sc.CardHeight = this.CardHeight;
sc.BackCard = this.backCard;
sc.FrontCard = this.frontCard;
formatter.Serialize(stream, sc);
var arry = ConvertToArry(stream);
stream.Close();
this.NeedSave = false;
return arry;
}
private byte[] ConvertToArry(Stream input)
{
byte[] buffer = new byte[16 * 1024];
using (MemoryStream ms = new MemoryStream())
{
int read;
while ((read = input.Read(buffer, 0, buffer.Length)) > 0)
{
ms.Write(buffer, 0, read);
}
return ms.ToArray();
}
}
Мой первый вопрос: всякий раз, когда я конвертирую любой объект потока в байтовый массив и пытаюсь получить размер массива, результат равен нулю ???Я не мог этого понять.Что-то не так с процессом сериализации?
Кто-нибудь может помочь?