using System;
using System.Text;
using System.IO;

namespace binarywriterexemple
{
    public class Fiche
    {
        string nom, prenom;
        byte age;
        public string Nom
        {
            get { return (nom); }
            set { nom = value; }
        }
        public string Prenom
        {
            get { return (prenom); }
            set { prenom = value; }
        }
        public byte Age
        {
            get { return (age); }
            set { age = value; }
        }

        public Fiche(string nom, string prenom, byte age)
        { Nom = nom; Prenom = prenom; Age = age; }

        public override string ToString()
        {
            string strFiche = String.Format("Nom: {0} Prenom: {1} agé(e) de {2} ans", Nom, Prenom, Age);
            return strFiche;
        }
    }
   
    class Program
    {
        static void Main(string[] args)
        {
            Fiche[] tabFiche = new Fiche[2];
            tabFiche[0] = new Fiche("Amel", "Oscar", 20);
            tabFiche[1] = new Fiche("Copter", "Elie", 22);
            Console.WriteLine(tabFiche[0]);

            using (FileStream fs = File.Create("datafiche.bin"))
            {
                using (BinaryWriter fs_bin = new BinaryWriter(fs))
                {
                    foreach (Fiche unefiche in tabFiche)
                    {
                        fs_bin.Write(unefiche.Nom);
                        fs_bin.Write(unefiche.Prenom);
                        fs_bin.Write(unefiche.Age);
                    }
                }
            }
            Console.ReadKey();
            using (FileStream fs = File.OpenRead("datafiche.bin"))
            {
                using (BinaryReader fs_binread = new BinaryReader(fs))
                {   
                    while (fs_binread.PeekChar() != -1) //lit carac suivant sans déplacer 
                                                        // l'index de lecture
                    {
                        string nomfiche=fs_binread.ReadString();
                        string prenomfiche = fs_binread.ReadString();
                        byte agefiche= fs_binread.ReadByte();
                        Console.WriteLine(nomfiche + "/" + prenomfiche + "/" + agefiche.ToString());
                        Console.ReadKey();
                    }
                }
            }



        }
    }
}
