static void Main(string[] args) { MusicDataStore musicData = new MusicDataStore().TestData(); BinaryFormatter formatter = new BinaryFormatter(); using (FileStream outputStream = new FileStream("MusicTracks.bin", FileMode.OpenOrCreate, FileAccess.Write)) { formatter.Serialize(outputStream, musicData); } MusicDataStore inputData; using (FileStream inputStream = new FileStream("MusicTracks.bin", FileMode.Open, FileAccess.Read)) { inputData = (MusicDataStore)formatter.Deserialize(inputStream); } foreach (var item in inputData.Artists) { Console.WriteLine(item.Name); } Console.ReadKey(); }
public MusicDataStore TestData() { MusicDataStore result = new MusicDataStore(); //create same test data set as used for LINQ example string[] artistNames = new string[] { "Rob Miles", "Freed Bloggs", "The Bloggs Sisters", "Immy Brown" }; string[] titleNames = new string[] { "My Way", "Your Way", "His Way", "Her Way", "Milky Way" }; Random rand = new Random(1); var artistCount = 1; var trackCount = 1; foreach (string artistName in artistNames) { Artist newArtist = new Artist { Name = artistName, ID = artistCount++ }; Artists.Add(newArtist); foreach (string titleName in titleNames) { MusicTrack newTrack = new MusicTrack { Artist = newArtist, Title = titleName, Length = rand.Next(20, 600), ID = trackCount++ }; MusicTracks.Add(newTrack); } } return(result); }