Во время сериализации мы можем использовать либо поток памяти, либо поток файлов.
В чем основное различие между этими двумя? Что означает поток памяти?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Runtime.Serialization.Formatters.Binary;
namespace Serilization
{
class Program
{
static void Main(string[] args)
{
MemoryStream aStream = new MemoryStream();
BinaryFormatter aBinaryFormat = new BinaryFormatter();
aBinaryFormat.Serialize(aStream, person);
aStream.Close();
}
}
}
В отношении stream
самостоятельно, в целом, это означает, что при помещении содержания в stream
(память) это не поместит все содержание любого источника данных (файл, дб...), Вы работаете с, к памяти . В противоположность, например, Массивам или Буферам, где Вы подаете все к памяти . В stream
, Вы получаете блок, например, файл к памяти . Когда Вы достигаете конца блока, stream
получает следующий блок от файла до памяти . Все это происходит в фоне низкого уровня, в то время как Вы просто выполняете итерации stream
. Вот почему это звонило stream
. По моему скромному мнению