コード例 #1
0
        private void dgvHenkilot_SelectionChanged(object sender, EventArgs e)
        {
            /*
             *
             * Mikäli jotain on valittuna, niin salli napit, ja mikäli taas ei niin, laita enable=false
             *
             *
             */
            if (dgvHenkilot.SelectedRows.Count > 0)
            {
                Henkilo item = (Henkilo)dgvHenkilot.SelectedRows[0].DataBoundItem;
                Henkilo row  = henkilot.Find(x => x.henkilotunnus == item.henkilotunnus);
                lblHenkilo.Text = row.kutsumanimi + " " + row.sukunimi + " valittu.";

                btnMuokkaaHenkilo.Enabled  = true;
                btnPoistaHenkilo.Enabled   = true;
                btnLisaaToimisuhde.Enabled = true;

                dgvToimisuhteet.DataSource = null;
                if (row.toimisuhteet.Count > 0)
                {
                    dgvToimisuhteet.DataSource = row.toimisuhteet;
                }
            }
            else
            {
                lblHenkilo.Text            = "";
                btnMuokkaaHenkilo.Enabled  = false;
                btnLisaaToimisuhde.Enabled = false;
                btnPoistaHenkilo.Enabled   = false;
            }
        }
コード例 #2
0
        static void TestaaHenkiloRekisteri()
        {
            // ludaan muutamaan testi henkilö
            Henkilot popo = new Henkilot();
            Henkilo  hlo  = new Henkilo {
                Etunimi = "Jack", Sukunimi = "Russell", Hetu = "311270-123A"
            };
            Henkilo hlo1 = new Henkilo {
                Etunimi = "Kirsi", Sukunimi = "Kernell", Hetu = "121270-234B"
            };
            Henkilo hlo2 = new Henkilo {
                Etunimi = "Mat", Sukunimi = "Mickelson", Hetu = "011280-456C"
            };

            // lisätään henkilöt popoon
            popo.LisaaHenkilo(hlo);
            popo.LisaaHenkilo(hlo1);
            popo.LisaaHenkilo(hlo2);
            // tulostetaan popo näytölle
            foreach (Henkilo h in popo.Henkilolista)
            {
                Console.WriteLine("Henkilö {0}", h.ToString());
            }
            //TODO kysy käyttäjältä hetu sitä vataava henkilö näytölle
            Console.WriteLine("Löyty henkilö {0}", popo.HaeHenkiloHetulla("011280-456C"));
            // henkilö näytölle indexilla
            Console.WriteLine("Löyty henkilö {0}", popo.HaeHenkilo(1));
        }
コード例 #3
0
        public MuokkaaHenkilo(Paaikkuna paaikkuna, int id)
        {
            /*
             * Muokataan henkilöä 'id'
             * id on henkilöt listan indeksi
             *
             *
             */
            InitializeComponent();
            this.id        = id;
            this.paaikkuna = paaikkuna;
            Henkilo h = this.paaikkuna.henkilot[id];

            tbPostinumero.KeyPress += this.paaikkuna.Postinumero_KeyPress;

            tbEtunimet.Text = String.Join(" ", h.etunimet);

            cbKutsumanimi.DataSource   = h.etunimet;
            cbKutsumanimi.SelectedItem = h.kutsumanimi;

            tbSukunimi.Text = h.sukunimi;

            tbHetu.Text = h.henkilotunnus;

            tbPostinumero.Text      = h.postinumero;
            tbPostitoimipaikka.Text = h.postitoimipaikka;

            tbKatuosoite.Text = h.katuosoite;
        }
コード例 #4
0
 public void paivita()
 {
     /*
      *
      *  Päivittää datagridin ja napit, mikäli on valittuna, hyödyllinen funktio
      *
      */
     dgvHenkilot.DataSource = null;
     dgvHenkilot.DataSource = henkilot;
     if (dgvHenkilot.SelectedRows.Count > 0)
     {
         Henkilo h = (Henkilo)dgvHenkilot.SelectedRows[0].DataBoundItem;
         dgvToimisuhteet.DataSource = null;
         if (h.toimisuhteet.Count > 0)
         {
             dgvToimisuhteet.DataSource = h.toimisuhteet;
         }
         else
         {
             btnMuokkaaToimisuhde.Enabled = false;
             btnPoistaToimisuhde.Enabled  = false;
         }
     }
     else
     {
         btnPoistaHenkilo.Enabled  = false;
         btnMuokkaaHenkilo.Enabled = false;
     }
 }
コード例 #5
0
        private void btnLisaaHenkilo_Click(object sender, EventArgs e)
        {
            /*
             * Lisätään henkilö listaan
             * Lisätään lokirivi lokit listaan
             */
            Henkilo henkilo = this.paaikkuna.henkilot[this.id];

            henkilo.kutsumanimi      = cbKutsumanimi.Text;
            henkilo.sukunimi         = tbSukunimi.Text;
            henkilo.postinumero      = tbPostinumero.Text;
            henkilo.postitoimipaikka = tbPostitoimipaikka.Text;
            henkilo.katuosoite       = tbKatuosoite.Text;

            paaikkuna.henkilot[id] = henkilo;
            if (!this.paaikkuna.ehdotukset.ContainsKey(tbPostinumero.Text.Substring(0, 2)))
            {
                this.paaikkuna.ehdotukset.Add(tbPostinumero.Text.Substring(0, 2), tbPostitoimipaikka.Text);
            }

            LokiRivi lokirivi;

            lokirivi.kuka        = Environment.UserName;
            lokirivi.tietotyyppi = "Henkilön muokkaus";
            lokirivi.tieto       = henkilo.henkilotunnus;
            lokirivi.milloin     = DateTime.Now;
            paaikkuna.loki.Add(lokirivi);
            paaikkuna.paivita();
            this.Close();
        }
コード例 #6
0
    static void Main(string[] args)
    {
        //Tässä luodaan pino asiakkaat.
        Stack asiakkaat = new Stack();

        Henkilo h1 = new Henkilo("Akseli", "040-123456", 1000);
        Henkilo h2 = new Henkilo("Majia", "040-234567", 2000);
        Henkilo h3 = new Henkilo("Niklas", "040-345678", 3000);

        //Tässä pinoon lisätään päivämäärä.
        asiakkaat.Push(DateTime.Now);

        //Seuraavassa pinoon lisätään Henkilo-olioita.
        asiakkaat.Push(h1);
        asiakkaat.Push(h2);
        asiakkaat.Push(h3);

        //Tässä pinon alkioiden lukumäärä otetaan talteen.
        //Huomaa, että joka kerta, kun kutsutaan metodi
        //Pop(), pinon koko pienenee!
        int pinonKoko = asiakkaat.Count;

        Console.WriteLine("Alkioiden lukumäärä: " + pinonKoko);

        //Seuraavassa pinon sisältö tulostetaan näytölle.
        IEnumerator enumerator = asiakkaat.GetEnumerator();

        while (enumerator.MoveNext())
        {
            Console.WriteLine(enumerator.Current);
        }

        //Tässä pinon kaikki alkiot kopioidaan
        //pinonAlkiot taulukkoon.
        object[] pinonAlkiot = asiakkaat.ToArray();

        Console.WriteLine("Alkiot tulostettuna taulukon kautta: ");

        //Seuraavassa taulukkon pinonAlkiot sisältö
        //tulostetaan näytölle.
        foreach (object obj in pinonAlkiot)
        {
            Console.WriteLine(obj);
        }

        Console.WriteLine("Päällimmäisin alkio tulostettuna Peek()-metodilla: ");

        Console.WriteLine(asiakkaat.Peek());

        Console.WriteLine("Alkiot tulostettuna Pop()-metodilla:");

        for (int i = 0; i < pinonKoko; i++)
        {
            Console.WriteLine(asiakkaat.Pop());
        }

        Console.WriteLine("Alkioiden lukumäärä: " + asiakkaat.Count);
    }
コード例 #7
0
        public ActionResult UusiTyontekija(Henkilo h)
        {
            ViewBag.Message  = "Uusi työntekijä";
            ViewBag.Onnistui = DataAccess.LisääHenkilö(h);

            ViewData["osasto_id"] = DataAccess.HaeOsastoIdt();

            return(View());
        }
コード例 #8
0
        private void btnLisaaToimisuhde_Click(object sender, EventArgs e)
        {
            /*
             *
             *  avaa lisää toimisuhde ikkunan
             */
            Henkilo item = (Henkilo)dgvHenkilot.SelectedRows[0].DataBoundItem;
            int     row  = henkilot.FindIndex(x => x.henkilotunnus == item.henkilotunnus);

            LisaaToimisuhde ikkuna = new LisaaToimisuhde(this, row);

            ikkuna.ShowDialog();
        }
コード例 #9
0
        private void btnMuokkaaToimisuhde_Click(object sender, EventArgs e)
        {
            /*
             * avaa muokkaa toimisuhde ikkunan
             */
            Henkilo    item   = (Henkilo)dgvHenkilot.SelectedRows[0].DataBoundItem;
            int        row    = henkilot.FindIndex(x => x.henkilotunnus == item.henkilotunnus);
            Toimisuhde item_2 = (Toimisuhde)dgvToimisuhteet.SelectedRows[0].DataBoundItem;
            int        row_2  = item.toimisuhteet.FindIndex(x => x.nimike == item_2.nimike);

            if (dgvToimisuhteet.SelectedRows.Count > 0 && dgvHenkilot.SelectedRows.Count > 0)
            {
                MuokkaaToimisuhde ikkuna = new MuokkaaToimisuhde(this, row, row_2);
                ikkuna.ShowDialog();
            }
        }
コード例 #10
0
        private void btnMuokkaaHenkilo_Click(object sender, EventArgs e)
        {
            /*
             * avaa muokkaahenkilö ikkunan
             */
            if (dgvHenkilot.SelectedRows.Count > 0)
            {
                Henkilo item = (Henkilo)dgvHenkilot.SelectedRows[0].DataBoundItem;
                int     row  = henkilot.FindIndex(x => x.henkilotunnus == item.henkilotunnus);

                MuokkaaHenkilo ikkuna = new MuokkaaHenkilo(this, row);
                ikkuna.ShowDialog();
            }
            else
            {
                paivita();
            }
        }
コード例 #11
0
        private void dgvToimisuhteet_ColumnHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e)
        {
            DataGridView grid    = (DataGridView)sender;
            SortOrder    so      = SortOrder.None;
            SortOrder    current = grid.Columns[e.ColumnIndex].HeaderCell.SortGlyphDirection;
            Henkilo      item    = (Henkilo)dgvHenkilot.SelectedRows[0].DataBoundItem;
            Henkilo      row     = henkilot.Find(x => x.henkilotunnus == item.henkilotunnus);

            if (current == SortOrder.None || current == SortOrder.Ascending)

            {
                so = SortOrder.Descending;
            }

            else

            {
                so = SortOrder.Ascending;
            }

            string column = grid.Columns[e.ColumnIndex].Name;

            if (column.Equals("Nimike"))
            {
                if (so == SortOrder.Ascending)

                {
                    dgvToimisuhteet.DataSource = row.toimisuhteet.OrderBy(x => x.nimike).ToList();
                }

                else

                {
                    dgvToimisuhteet.DataSource = row.toimisuhteet.OrderByDescending(x => x.nimike).ToList();
                }
            }
            else

            {
                dgvToimisuhteet.DataSource = row.toimisuhteet;
            }

            grid.Columns[e.ColumnIndex].HeaderCell.SortGlyphDirection = so;
        }
コード例 #12
0
        static void Main(string[] args)
        {
            try
            {
                List <Henkilo> ukkelit = new List <Henkilo>();
                using (StreamReader sr = new StreamReader("input.txt"))
                {
                    Henkilo  temp;
                    string   s;
                    string[] split;
                    while ((s = sr.ReadLine()) != null)
                    {
                        temp          = new Henkilo();
                        split         = s.Split(' ');
                        temp.Etunimi  = split[0];
                        temp.Sukunimi = split[1];
                        ukkelit.Add(temp);
                    }

                    Dictionary <string, int> montaNimea = new Dictionary <string, int>();

                    for (int i = 0; i < ukkelit.Count; i++)
                    {
                        if (montaNimea.ContainsKey(ukkelit[i].Etunimi))
                        {
                            montaNimea[ukkelit[i].Etunimi]++;
                        }
                        else
                        {
                            montaNimea.Add(ukkelit[i].Etunimi, 1);
                        }
                    }

                    foreach (KeyValuePair <string, int> key in montaNimea)
                    {
                        Console.WriteLine(key.Key + " " + key.Value);
                    }
                }
            }
            catch (Exception e)
            {
                throw e;
            }
        }
コード例 #13
0
    //Seuraavassa toteutetaan IComparable-liittymän metodi
    //CompareTo(), joka kutsutaan aina, kun oliot lajitellaan.
    public int CompareTo(Object obj)
    {
        //Tässä joudutaan muuntamaan obj-olio Henkilo-
        //tyyppiseksi. Tämä on mahdollista, koska obj on
        //tyyppiä Object, joka on kaikkien luokkien kantaluokka.
        Henkilo tempHenkilo = (Henkilo)obj;

        if (this.palkka < tempHenkilo.palkka)
        {
            return(-1);
        }
        else if (this.palkka > tempHenkilo.palkka)
        {
            return(1);
        }
        else
        {
            return(0);
        }
    }
コード例 #14
0
        private void btnPoistaHenkilo_Click(object sender, EventArgs e)
        {
            /*
             *
             * Poistetaan henki
             *
             */
            DialogResult dr = MessageBox.Show("Haluatko poistaa tämän henkilön ?", "Henkilön poisto", MessageBoxButtons.YesNo);

            if (dr == DialogResult.Yes)
            {
                if (dgvHenkilot.SelectedRows.Count > 0)
                {
                    Henkilo item = (Henkilo)dgvHenkilot.SelectedRows[0].DataBoundItem;
                    int     row  = henkilot.FindIndex(x => x.henkilotunnus == item.henkilotunnus);
                    henkilot.RemoveAt(row);
                    paivita();
                }
            }
        }
コード例 #15
0
    public int VertaileNimi(Object obj)
    {
        //Tässä joudutaan muuntamaan obj-olio Henkilo-
        //tyyppiseksi.
        Henkilo tempHenkilo = (Henkilo)obj;

        //Seuraavassa nimi-attribuutteja verrataan
        //keskenään metodin CompareTo() avulla.
        if (this.nimi.CompareTo(tempHenkilo.nimi) < 1)
        {
            return(-1);
        }
        else if (this.nimi.CompareTo(tempHenkilo.nimi) > 1)
        {
            return(1);
        }
        else
        {
            return(0);
        }
    }
コード例 #16
0
    static void Main(string[] args)
    {
        //Seuraavassa luodaan henkilo1-olio. Koska olio luodaan
        //new-operaattorilla ja oletusmuodostimella, kentät
        //alustetaan oletusarvoilla: numeerinen kentät
        //nolllla, bool kentät false-arvolla ja string kentät
        //null-arvolla.
        Henkilo henkilo1 = new Henkilo();

        Console.WriteLine("Oletusmuodostimella ja new-operaattorilla luodun olion tiedot: ");

        //Seuraavassa kutsutaan henkilo1-olion VartalonMuoto()-
        //metodi.
        henkilo1.VartalonMuoto();

        //Seuraavassa luodaan henkilo2 new-operaattorilla ja
        //muodostimella, jonka kautta kentät alustetaan.

        Henkilo henkilo2 = new Henkilo(53f, 1.60f, 35);

        Console.WriteLine("Muodostimella ja new-operaattorilla luodun olion tiedot: ");
        henkilo2.VartalonMuoto();

        //Tässä luodaan henkilo3-olio ilman muodostinta.
        //Huomaa, että ennen kuin pystytään
        //kutsumaan olion metodeja, kaikki kentät tulee ensin
        //alustaa.

        Henkilo henkilo3;

        //Seuraavassa alustetaan henkilo3-olion attribuutit.
        henkilo3.kiloPaino   = 200f;
        henkilo3.metriPituus = 2.10f;
        henkilo3.ika         = 38;
        henkilo3.aikuinen    = true;
        Console.WriteLine("Ilman new-operaattoria luodoun olion tiedot (attribuutit on alustettu erikseen):");
        henkilo3.VartalonMuoto();
    }
コード例 #17
0
ファイル: Program.cs プロジェクト: K8980/Labra2-3
        static void TestaaHenkiloRekisteri()
        {
            //luodaan muuttuja
            Henkilot poppoo = new Henkilot();
            Henkilo  hlo    = new Henkilo {
                Etunimi = "Jack ", Sukunimi = "Sparrow ", HeTu = "987652-754Å "
            };
            Henkilo hlo1 = new Henkilo {
                Etunimi = "James ", Sukunimi = "Bond ", HeTu = "007007-007A "
            };
            Henkilo hlo2 = new Henkilo {
                Etunimi = "Ninjaspidar ", Sukunimi = "Kurwaspidar ", HeTu = "696969-6969 "
            };

            //lisätään henkilöt poppooseen
            poppoo.LisaaHenkilo(hlo);
            poppoo.LisaaHenkilo(hlo1);
            poppoo.LisaaHenkilo(hlo2);
            foreach (Henkilo h in poppoo.HenkiloLista)
            {
                Console.WriteLine("{0}", h.ToString());
            }
            //TODO kysy käyttäjältä hetu ja haetaan sitä vastaava henkilö näytölle
            Console.WriteLine("\n Syötä henkilötunnus: ");
            string  hetu   = Console.ReadLine();
            Henkilo haettu = poppoo.HaeHenkiloHetulla(hetu);

            Console.WriteLine();
            if (haettu != null)
            {
                Console.WriteLine(haettu.ToString());
            }
            else
            {
                Console.WriteLine("Ei löytynyt. Better luck next time");
            }
        }
コード例 #18
0
        private void btnPoistaToimisuhde_Click(object sender, EventArgs e)
        {
            /*
             * Poistetaan toimisuhde ja kysytään käyttäjältä varmistus
             *
             */
            DialogResult dr = MessageBox.Show("Haluatko poistaa tämän toimisuhteen ?", "Toimisuhteen poisto", MessageBoxButtons.YesNo);

            if (dr == DialogResult.Yes)
            {
                if (dgvHenkilot.SelectedRows.Count > 0)
                {
                    if (dgvToimisuhteet.SelectedRows.Count > 0)
                    {
                        Henkilo    item   = (Henkilo)dgvHenkilot.SelectedRows[0].DataBoundItem;
                        int        row    = henkilot.FindIndex(x => x.henkilotunnus == item.henkilotunnus);
                        Toimisuhde item_2 = (Toimisuhde)dgvToimisuhteet.SelectedRows[0].DataBoundItem;
                        int        row_2  = item.toimisuhteet.FindIndex(x => x.nimike == item_2.nimike);
                        henkilot[row].toimisuhteet.RemoveAt(row_2);
                        paivita();
                    }
                }
            }
        }
コード例 #19
0
    static void Main(string[] args)
    {
        //Tässä luodaan henkilot ArrayList
        ArrayList henkilot = new ArrayList();

        //seuraavassa määritellään Henkilo olioita.
        Henkilo h1 = new Henkilo("Eesus", 100, 4234.50f);
        Henkilo h2 = new Henkilo("DonnaLiisa", 300, 1234.60f);
        Henkilo h3 = new Henkilo("Alluusia", 200, 5234.70f);
        Henkilo h4 = new Henkilo("Buusia", 500, 2234.70f);
        Henkilo h5 = new Henkilo("Cesna", 200, 3234.70f);

        //Seuraavassa lisätään dataa ArrayList-kokoelmaan
        henkilot.Add(h1);
        henkilot.Add(h2);
        henkilot.Add(h3);
        henkilot.Add(h4);
        henkilot.Add(h5);

        Console.WriteLine("Henkilötiedot alussa:");

        //Tässä kutsutaan TulostaHenkilot staattinen metodi,
        //joka saa argumenttina ArrayList-kokoelman.
        Henkilo.TulostaHenkilot(henkilot);

        //Tässä lajitteluKriteeti attribuutin arvoksi laitetaan
        //"nimi", eli Henkilo oliot lajitellaan niiden nimi
        //attribuutin perusteella.
        Henkilo.lajitteluKriteeti = "nimi";

        //Tässä ArrayList-kokoelman sisältö lajitellaan
        //nimen mukaan nousevaan järjestykseen.
        henkilot.Sort();

        Console.WriteLine("Henkilötiedot järjestyksessä "
                          + Henkilo.lajitteluKriteeti + "-attribuutin mukaan:");

        //Tässä tulostetaan ArrayList-kokoelman henkilot sisältö.
        Henkilo.TulostaHenkilot(henkilot);

        //Tässä lajitteluKriteeti attribuutin arvoksi
        //laitetaan "id", eli Henkilo oliot lajitellaan niiden
        //id-attribuutin perusteella.
        Henkilo.lajitteluKriteeti = "id";

        //Tässä ArrayList-kokoelman sisältö lajitellaan id
        //mukaan nousevaan järjestykseen.
        henkilot.Sort();

        Console.WriteLine("Henkilötiedot järjestyksessä "
                          + Henkilo.lajitteluKriteeti + "-attribuutin mukaan:");

        //Tässä taas tulostetaan henkilot-ArrayList tauluko
        //sisältö.
        Henkilo.TulostaHenkilot(henkilot);
        //Tässä lajitteluKriteeti attribuutin arvoksi
        //laitetaan "id", eli Henkilo oliot lajitellaan niiden
        //id-attribuutin perusteella.
        Henkilo.lajitteluKriteeti = "palkka";

        //Tässä ArrayList-kokoelman sisältö lajitellaan
        //palkan mukaan nousevaan järjestykseen.
        henkilot.Sort();

        Console.WriteLine("Henkilötiedot järjestyksessä "
                          + Henkilo.lajitteluKriteeti + "-attribuutin mukaan:");

        //Tässä taas tulostetaan henkilot-ArrayList tauluko
        //sisältö.
        Henkilo.TulostaHenkilot(henkilot);
    }
コード例 #20
0
    static void Main(string[] args)
    {
        //Tässä luodaan ArrayList-kokoelma henkilot.
        ArrayList henkilot = new ArrayList();

        //seuraavassa määritellään Henkilo-olioita.
        Henkilo h1 = new Henkilo("Pessi", 100, 4234.50f);
        Henkilo h2 = new Henkilo("AnnaLiisa", 200, 1234.60f);
        Henkilo h3 = new Henkilo("Illuusia", 300, 3234.70f);

        //Seuraavassa lisätään dataa ArrayList-kokoelmaan.
        henkilot.Add(h1);
        henkilot.Add(h2);
        henkilot.Add(h3);

        Console.WriteLine("Henkilötiedot alussa:");

        //Seuraavassa ArrayList-kokoelman kaikki alkiot
        //tulostetaan näytölle käyttämällä liittymää
        //IEnumerator.
        IEnumerator enumarator = henkilot.GetEnumerator();

        while (enumarator.MoveNext())
        {
            Console.WriteLine(enumarator.Current);
        }

        Console.WriteLine("-----------------");

        //Seuraavassa selvitetään sisältääkö
        //ArrayList-kokoelma henkilot oliota h2.
        Console.WriteLine("IndexOf() avulla selvitetaan index ");
        if (henkilot.Contains(h2))
        {
            //Tässä selvitetään h2-olion indeksi.
            int h2Indeksi = henkilot.IndexOf(h2);
            Console.WriteLine("h2-olion indeksi on " +
                              h2Indeksi);
            Console.WriteLine("h2: " +
                              henkilot[h2Indeksi]);
        }

        Console.WriteLine("-----------------");

        //Tässä haetaan h3-olio metodin BinarySearch() avulla.
        Console.WriteLine("BinarySearch() avulla selvitetaan index ");
        int h3Indeksi = henkilot.BinarySearch(h3);

        Console.WriteLine("h3-olion indeksi on " +
                          h3Indeksi);
        Console.WriteLine("h3: " +
                          henkilot[h3Indeksi]);
        Console.WriteLine("-----------------");

        //Tässä ArrayList-kokoelman sisältö lajitellaan
        //palkan mukaan nousevaan järjestykseen.
        henkilot.Sort();

        Console.WriteLine("Henkilötiedot nousevassa järjestyksessä palkan mukaan:");

        //Tässä läpikäyntifunktio enumerator
        //alustetaan uudelleen.
        enumarator = henkilot.GetEnumerator();

        //Seuraavassa käydään luettelo läpi ja kaikki
        //alkiot taas tulostetaan näytölle.
        while (enumarator.MoveNext())
        {
            Console.WriteLine(enumarator.Current);
        }

        Console.WriteLine("-----------------");

        //Tässä ArrayList-kokoelman henkilot sisältö
        //lajitellaan palkan mukaan laskevaan järjestykseen.
        henkilot.Reverse();

        Console.WriteLine("Henkilötiedot laskevassa järjestyksessä palkan mukaan:");

        //Tässä ArrayList-kokoelman henkilot kaikki alkiot
        //taas tulostetaan näytölle. Huomaa, että tässä
        //taulukon sisältö käydään indeksin avulla läpi.
        for (int i = 0; i < henkilot.Count; i++)
        {
            Console.WriteLine(henkilot[i]);
        }

        Console.WriteLine("-----------------");

        //Tässä poistetaan kokoelman henkilot kaikki alkiot.
        henkilot.Clear();

        Console.WriteLine("Henkilöiden lukumäärä Clear() metodin kutsun jälkeen:");

        //Tässä taas tulostetaan taulukon alkioiden lukumäärä.
        Console.WriteLine("henkilot.Count=" +
                          henkilot.Count);
    }
コード例 #21
0
    static void Main(string[] args)
    {
        //Tässä luodaan jono asiakkaat.
        Queue asiakkaat = new Queue();

        Henkilo h1 = new Henkilo("Akseli", "040-123456", 1000);
        Henkilo h2 = new Henkilo("Majia", "040-234567", 2000);
        Henkilo h3 = new Henkilo("Niklas", "040-345678", 3000);

        //Tässä jonoon lisätään päivämäärä.
        asiakkaat.Enqueue(DateTime.Now);

        //Seuraavassa jonoon lisätään Henkilo-olioita.
        asiakkaat.Enqueue(h1);
        asiakkaat.Enqueue(h3);
        asiakkaat.Enqueue(h2);

        //Tässä jonon alkioiden lukumäärä otetaan talteen.
        //Huomaa, että joka kerta, kun kutsutaan metodi
        //Dequeue(), jonon koko pienenee!
        int jononKoko = asiakkaat.Count;

        Console.WriteLine("Alkioiden lukumäärä: " + jononKoko);

        //Seuraavassa jonon sisältö tulostetaan näytölle.
        IEnumerator enumerator = asiakkaat.GetEnumerator();

        while (enumerator.MoveNext())
        {
            Console.WriteLine(enumerator.Current);
        }

        //Seuraavassa olio h2 tulostetaan näytölle jos
        //se on jonossa.
        if (asiakkaat.Contains(h2))
        {
            Console.WriteLine("h2=" + h2);
        }
        else
        {
            Console.WriteLine("h2 ei ole jonossa!");
        }

        //Tässä jonon kaikki alkiot kopioidaan
        //taulukkoon jononAlkiot.
        object[] jononAlkiot = asiakkaat.ToArray();

        Console.WriteLine("Alkiot tulostettuna taulukon kautta: ");

        //Seuraavassa taulukkon jononAlkiot sisältö
        //tulostetaan näytölle.
        foreach (object obj in jononAlkiot)
        {
            Console.WriteLine(obj);
        }

        Console.WriteLine("Ensimmäinen alkio tulostettuna Peek()-metodilla: ");
        Console.WriteLine(asiakkaat.Peek());

        Console.WriteLine("Alkiot tulostettuna Dequeue()-metodilla:");
        for (int i = 0; i < jononKoko; i++)
        {
            Console.WriteLine(asiakkaat.Dequeue());
        }

        Console.WriteLine("Alkioiden lukumäärä: " +
                          asiakkaat.Count);
    }