Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: C# blogitehtävä

Tinketti [09.04.2013 12:53:35]

#

Termos taas!

Itsekin liityn Viopen kurssin osaamattomien listalle, sillä https://www.ohjelmointiputka.net/keskustelu/26593-c-sharp-ominaisuuden-set-akksessori/sivu-1 liittyvä tehtävä ei lähde luonnistumaan. Sain ym. keskustelujen myötä "avainsanat" ja "teksti"-kohdat toimimaan ilman vb:n virheilmoitusta, mutten keksi, mitä tuohon "Blogimerkinta"-osioon sijoittaa. Koetin lähteä pseudotasolla kohta kerrallaan, selvittämään mitä kunkin kohdan tulee tehdä, mutta tuo alku vaan ei toimi. Mikä mättää? Alla on paras yritykseni näin muutaman päivän jälkeen

class Merkki
   {
       string _Blogimerkinta;
       public string Blogimerkinta
       {
           get
           {
               return _Blogimerkinta;
           }
           set
           {
               _Blogimerkinta = value;
           }
       }

       public string Teksti { get; set; }

       private string[] _Avainsanat;
       public string[] Avainsanat
       {
           set
           {
               _Avainsanat = new string[value.Length];
               for (int i = 0; i < value.Length; i++)
               {
                   _Avainsanat[i] = value[i];
               }
           }
           get
           {
               return _Avainsanat;
           }
           }

       }
   }

Grez [09.04.2013 13:39:58]

#

Kun tuonne kaksi viittausta aikaisempaan viestiin jo kirjoittelin, että tämähän saa käytännössä puoliksi tehtyä kliksuttelemalla "Generate" -toimintoa Visual Studiossa, niin tein nyt kokeeksi tuon tehtävässä pyydetyn luokan. Aikaa meni kaikkiaan 3 minuuttia siitä että avasin Visual Studion siihen että olin valmis pasteamaan koodin tänne. Ja vain 5 riviä tuli itse kirjoitettua (nuo mitkä alkaa Console.WriteLine)

class Blogimerkinta
{
    private string _otsikko;
    public Blogimerkinta(string otsikko)
    {
        _otsikko = otsikko;
    }
    public string Teksti { get; set; }
    public string[] Avainsanat { get; set; }

    internal void Tulosta()
    {
        Console.WriteLine(_otsikko);
        Console.WriteLine();
        Console.WriteLine(Teksti);
        Console.WriteLine();
        Console.WriteLine("Avainsanat: " + string.Join(", ", Avainsanat));
    }
}

Periaatteessa en kannata suoraan vastauksen laittamista, mutta tuntui äkkiseltään helpommalta tehdä tehtävä kuin miettiä mikä koodissasi on vikana. Tein kuitenkin senkin:

Jos mä nyt kommentoisin tuota koodiasi, niin en ihan ymmärrä:
- miksi sulla on luokka Merkki?
- miksi luokassa merkki on sisäinen muuttuja _Blogimerkinta ja ominaisuus Blogimerkinta?

Jäin miettimään että oliko tehtävänannossa mahdollisesti jotain erityistä mainintaa, että avainsanat-taulukko pitää kloonata ettei sitä saa suoraan käyttää.

Jäi vähän epäselväksi mikä tuossa "alussa" ei toimi. Paitsi tietty se että et ollut tehnyt Blogimerkinta -luokkaa ollenkaan, jolloin tietty ko. luokan luonti jo epäonnistuu.

Tinketti [09.04.2013 14:18:33]

#

Kiitos hirveästi! Tuo vastaus selvensi itseasiassa koko luokka-ohjelmoinnin runkoa paljon enemmän, kuin viopen 10 sivun sepustukset...

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta