示例#1
0
        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();
        }
示例#2
0
        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);
        }